View all of my Projectworks - click over here -> Vivek Vellaiyappan Project Works
- To implement the classic task manager application. It must contain the following components: metrics collection, database storage, and a user interface.
- Capstone Project: MSCS 710L | Duration: Fall 2018 (Aug to Dec 2018)
- Degree: Masters in Computer Science - Software Development | College: Marist College, NY
- Professor: Anthony Giorgio
Name | Roles | Shared Roles |
---|---|---|
Vivek Vellaiyappan | Scrum Master, Manager, Software Engineer, Web Developer, DevOps Engineer | Architect, Technical Writer |
Deeksha | Testing Engineer, Automation Engineer | Architect, Technical Writer |
Neha | Testing Engineer, Automation Engineer | Architect, Technical Writer |
- Java, Sigar API (to get system level info), Spring Boot, Spring, Spring MVC, Spring Rest Controller, Spring Data JPA, Hibernate, Spring Scheduler, H2 - Database, Junit, HTML, CSS, JavaScript, jQuery, Bootstrap, Github, CI/CD pipeline - Semaphore, Docker, Maven, Swagger, Webjarjs, Log4j, Postman (API testing & actions)
SDLC Process | Agile | Architectural Decisions | GitHub | Maven |
CI:Semaphore | CD: Docker container | Deployment: Heroku (in Progress) | REST API endpoints | Swagger API documentation |
Cloud Deployment - Scaling up & delivery of this web Application to everyone by using Cloud CSPs | Exploring Microservices architecture for this application | Developer Portal Website to expose the application API to external developers |
Code Development Practice Related - Hot Deploy concept in concept tryout - Issues creation & assigning gently automatically when buildfails | Using Frontend Framework | Implementing Adobe Analytics or such data analysis over application |
- Modularize the database by using normalization & bridge pattern concepts
- refactor the endpoint controllers location
File (links) | Description |
---|---|
Work Log | contains log about work done towards the project |
Meeting Log | contails log about meeting sync up info |
Design Document | document explaining the design approach for this project |
Test Approach Docuemnt | document explaining the test approach for this project |
Task Process Monitor - Final Demo PPT | Final Demo Presentation File |
Note: Will be updating this read me document more about the instrutions to run this in your windows machine, few more demo info & few more info. Kindly refer Gifs, pdfs, & Screenshots mentioned below for now - Version 2.0.
Project Demo Presentation slides pdf - will be inserting few more slides. Link: Click Me
Total CPU Usage - value updation in real time - video Total CPU memory usage - The values gets updated in real time
Project Home page Project Home Page - verison & a single total cpu memory usage values Maven Build System - Build success Swagger UI view API Docs endopint response API endpoint - CPU Usage response API endpoint - Versions response ALL Endpoints Info Semaphore CI - Project Build Status
Project Working Demo (all demo files location: link)
- [Video Link](to be updated)
- [Working Demo - PDF sheet](to be updated)
- Working Functionality Pictures Demo
- View System Level info (aimed as of now)
- System memory statistics: total, free, shared
- CPU statistics: load averages, user cpu, system cpu
- Process level statistics: process arguments, memory consumption, cpu consumption, credential info, state, environment, open file descriptors
- File system level statistics: local and remote mounted file systems (NTFS, ext, SMB, NFS, etc), capacity, utilization
- Network interface level statistics: all available network interfaces detected and monitored for bytes received/transmitted, packets received/transmitted, collisions, errors, dropped packets
- Monitor the processes in an intuitive way (Charts, Graphs)
- Note: The version will be updated whenever necessary to include more enhancements (will update these later)
- Using SIGAR for educational purpose only. (disclaimer made to avoid licensing issues with SIGAR)
- Used: IDE: IntelliJ | OS: Windows, Linux
- setup java & maven env in your local machine.
- Windows: https://www.mkyong.com/maven/how-to-install-maven-in-windows/
- Linux: for maven - https://www.youtube.com/watch?v=i8hSPwXZ0UI
- download project Refer the release branch with tag v1.0
- run following command
mvn clean install
- proceed only after you receive "BUILD SUCCESS" confirmation
java -jar target\process-monitor-0.0.1-SNAPSHOT.war
- make sure you got something similar to this line in the log
INFO 10672 --- [ main] c.t.p.p.ProcessMonitorApplication : Started ProcessMonitorApplication in 6.17 seconds (JVM running for 6.971)
- Note: in the unzipped folder -> navigate to the pom.xml file such that you end up similar to this location
..\TaskProcessManager-master\version1\maven_use\eclipse_processmonitor_ver1\spring-boot\process-monitor
- make sure you got something similar to this line in the log
- goto url http://localhost:8080/
- verify whether you received this "Hello Spring Boot World! Will be deploying a Process Monitoring Application soon using you!!" in the web page
- Eclipse IDE used for this project being downloaded eclipse from here - Eclipse IDE for Java EE Developers - 64 bit zip link: https://spring.io/tools3/eclipse
- setup the java https://www.mkyong.com/java/how-to-set-java_home-on-windows-10/ and maven https://www.mkyong.com/maven/how-to-install-maven-in-windows/ dependencies in your system
- clone this repo
- open eclipse and open the proejct located in this location: .\TaskProcessManager\version1\maven_use\eclipse_processmonitor_ver1
- add the sigar.jar file to the project "processmonitorver1" by going to its properties (right click on project -> Properties -> Java Build Path on left pane -> Libraries tab on right pane -> Add External JARs button and add the sigar.jar file in this location .\TaskProcessManager\prototype\hyperic-sigar-1.6.4\sigar-bin\lib\sigar.jar
- optional: if eclipse shouts error stating "Project is missing required library: ", then remove that one by - navigating to project properties of "processmonitorver1" by going to its properties - right click on project -> Properties -> Java Build Path on left pane -> Libraries tab on right pane -> remove any unused or errored jar file
Beware of the lots of scrolling to come :P