Complete
- βͺ Platform - Website Application
- βͺ User Database -
- βͺ Graph Database -
- βͺ FrontEnd -
- βͺ FrontEnd (CSS) -
- βͺ BackEnd -
- βͺ Version Control -
In a complex network environment, engineers often need to take down specific components for
maintenance, updates, or troubleshooting. Currently, the process of identifying and understanding
the downstream impact ofshutting down a component relies heavily on the engineer's memory
and manual tracking.
This method is prone to errors, as engineers may overlook certain dependencies or miss
components that are indirectly affected.An Interactive Component Dependency Management System.
This application will provide a visual representation of all components and their dependencies
within the network.It will support operations for managing components and their dependencies
1. COMPONENT CREATE
* Admin can create any Component to the system.
2. COMPONENT UPDATE
* Allows admins to update the component's details.
3. COMPONENT DELETE
* Admins can delete any single component.
4. DEPENDENCY MANGEMENT
* Admin can manage the dependencies of the components
5. INTERACTIVE GRAPH
* User and Admins can view a interactive network graph consisting all the components
6. COMPONENT SEARCH & VIEW:
* Users and Admins are able to search any components by its name or ip address and can view the details
Clone the UI Project from Here ImpactGraph-UI.
Node.js Version- 20.15.0
npm installPORT = <Port Number>
REACT_APP_SECRET_KEY = <Secret Key>
REACT_APP_BASE_URL = <Base Url>npm run startYou can run the project by Process Manager.There is a file in the Project directory named "ecosystem.config.js". In this file you can add your own sricpt , Project Name , can define the maximum number of CPU and Memory usage.
npm install pm2@latest -g
npm run buildpm2 start ecosystem.config.jsRuns the app in the development mode.
Open http://localhost:<Port_Number> to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Clone the Backend Project from Here ImpactGraph-MW.
implementation 'org.springframework.boot:spring-boot-starter-data-neo4j'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'org.springframework.boot:spring-boot-starter-security'
testImplementation 'org.springframework.security:spring-security-test'
implementation 'io.jsonwebtoken:jjwt-api:0.12.6'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.6' id 'java'
id 'org.springframework.boot' version '3.3.1'
id 'io.spring.dependency-management' version '1.1.5'spring.application.name=ImpactGraph
server.port = 8081
app.allowed.origins=<URL>
spring.neo4j.uri= <your neo4j/ auradb uri>
spring.neo4j.authentication.username= <your Neo4j Username>
spring.neo4j.authentication.password= <your Neo4j Password>
spring.app.jwtSecret=4b3e5zF8xJZpWkNwQzCFJaNdRgUkXp2s5v8yBEHMbQeThWmZq4t6w9
spring.app.jwtExpirationMs=604800000
spring.security.user.password=admin
spring.security.user.name=admin
spring.datasource.url= <your Mysql Url>
spring.datasource.username= <your mysql Username>
spring.datasource.password= <your mysql Password>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
logging.level.root=INFO
logging.level.org.neo4j=INFO
logging.level.org.springframework.data.neo4j=INFO
logging.level.org.springframework.data.neo4j.cypher=ERROR
logging.file.path = <log file path>You can build the project and run the tests.
One way is to execute the main method in the com.project.ImpactGraph class from your IDE.
-
Create the JAR file:
- In IntelliJ, go to the Gradle tab and run
bootJar. - This will create a JAR file in the
build/libsdirectory.
- In IntelliJ, go to the Gradle tab and run
-
Run the JAR with an external
application.propertiesfile:
Run the following command in the terminal to run the JAR:
java -jar ImpactGraph.jar --spring.config.location=classpath:/,file:/path/to/external/application.propertiesReplace the /path/to/external/application.properties with the actual path to your application.properties file.


