- INoteBook
- DevOps Resources (DevOps Resources Such As Jenkins Groovy Scripts, Helm Chart Templates and Prometheus Configurations)
- Developed a robust note-taking application from scratch utilizing Express.js for the backend server and React.js for the frontend, ensuring a seamless user experience.
- Containerized the application using Docker and orchestrated deployment on Google Kubernetes Engine (GKE) leveraging Helm charts, ensuring scalability and reliability.
- Automated the entire CI/CD process using Jenkins, Groovy script, and Jenkins shared libraries, streamlining development workflows and reducing manual errors.
- Implemented SonarQube code scanning within the Jenkins pipeline to enforce code quality standards and enhance overall project integrity.
- Utilized Prometheus as a metrics collector to monitor Kubernetes pods and deployments, enhancing observability and facilitating proactive issue resolution.
- Visualized Kubernetes metrics through Grafana public dashboard, providing comprehensive insights into system performance and resource utilization.
- Configured Kubernetes ingress for external access to the application, ensuring seamless user interaction, and integrated HTTPS load balancer with a managed certificate for enhanced security.
- Implemented horizontal pod autoscaling to dynamically adjust resources based on demand, optimizing application performance and resource utilization.
- React.js
- Express.js
- Docker
- Kubernetes
- Helm
- Jenkins
- Groovy
- SonarQube
- Prometheus
- Grafana
- HTTPS Load Balancer
- Horizontal Pod Autoscaling
- Google Kubernetes Engine (GKE)
- MongoDB
- Google Managed SSL Certificate
- User Authentication
- Note Creation
- Note Deletion
- Note Update
- Secure HTTPS Connection
- Horizontal Pod Autoscaling
- Metrics Monitoring
- Code Quality Scanning
- CI/CD Pipeline
- Containerization
- Clone the repository
git clone https://github.com/hirentimbadiya/notes-app.git
- Navigate to server directory and install dependencies
cd server
npm install
- Navigate to client directory and install dependencies
cd client
npm install
- Modify the .env file in the server directory with your MongoDB connection string and JWT secret key
MONGO_URI=YOUR_MONGODB_CONNECTION_STRING
JWT_SECRET=YOUR_JWT_SECRET_KEY
- Modify the .env file in the client directory with the server URL
REACT_APP_BACKEND_HOST=YOUR_SERVER_URL
# Example:
# REACT_APP_BACKEND_HOST=http://localhost:3001
- Start the server
cd server
npm run dev
- Start the client
cd client
npm run start
- Access the application at http://localhost:3000
This project is open source and available under the MIT License.