This project is a Real-Time Location Sharing Application developed in Node.js. It follows DevSecOps practices, integrating CI/CD pipelines with GitHub, Jenkins, SonarQube, Docker, and Aqua Trivy. The project emphasizes automation, code quality, security scanning, and containerization.
- Implemented a CI/CD Pipeline integrating GitHub with Jenkins for automated build and deployment.
- Utilized SonarQube scanner for code quality analysis and OWASP Dependency-Check for security vulnerability scanning.
- Automated Docker image creation, pushed images to DockerHub, and scanned them using Aqua Trivy.
- Deployed and Containerized the application using Docker, emphasizing secure DevSecOps practices.
- Node.js ,Express ,HTML/CSS ,Socket.IO
- Leaflet: Open-source JavaScript library for interactive maps.
- GitHub - Source code repository.
- Jenkins - Continuous Integration & Continuous Deployment (CI/CD) automation server.
- SonarQube - Code quality analysis tool.
- OWASP Dependency-Check - Tool for checking security vulnerabilities in dependencies.
- Docker - Containerization of the application.
- Aqua Trivy - Security scanner for Docker images.
- DockerHub - Container registry to store Docker images.
- Source Code Management: Code is hosted on GitHub.
- Jenkins Integration: Every code commit triggers a Jenkins build.
- Build and Unit Tests: Jenkins builds the Node.js application and runs tests.
- SonarQube Analysis: Code is scanned by SonarQube for code quality and potential bugs.
- OWASP Dependency-Check: Automated scanning of libraries for security vulnerabilities.
- Docker Build: Docker image is created, tagged, and pushed to DockerHub.
- Aqua Trivy Scan: Docker image is scanned for vulnerabilities using Trivy.
- Deployment: The containerized application is deployed automatically after successful scans and tests.
-
Clone the repository:
git clone https://github.com/username/repository.git
-
Navigate to the project directory:
-
Make sure you have
nodemon
installed globally:npm install npm start
-
Access the application: Open your browser and go to
http://localhost:3000
.