https://github.com/nahidcseru/nodejs-socketio-chat-application
Real-time Chat Application built with Node.js and Socket.io, enhanced with Docker and Jenkins CI/CD pipeline for deployment automation. Demonstrates hands-on DevOps skills including containerization, CI/CD, environment management, and project documentation.
https://github.com/nahidcseru/nodejs-socketio-chat-application
docker github jenkins nodejs socketio
Last synced: 3 months ago
JSON representation
Real-time Chat Application built with Node.js and Socket.io, enhanced with Docker and Jenkins CI/CD pipeline for deployment automation. Demonstrates hands-on DevOps skills including containerization, CI/CD, environment management, and project documentation.
- Host: GitHub
- URL: https://github.com/nahidcseru/nodejs-socketio-chat-application
- Owner: NahidCSERU
- Created: 2025-10-08T13:08:05.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-08T15:38:15.000Z (9 months ago)
- Last Synced: 2025-10-08T17:50:39.831Z (9 months ago)
- Topics: docker, github, jenkins, nodejs, socketio
- Language: JavaScript
- Homepage: https://www.linkedin.com/in/nahiddevops/
- Size: 1.46 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Node.js Socket.io Chat App - DevOps Setup
This project is a **real-time chat application** built with Node.js and Socket.io, originally from [RaoofJM/nodejs-socketio-chat-application](https://github.com/RaoofJM/nodejs-socketio-chat-application).
I have **enhanced it with Docker and Jenkins CI/CD pipeline** for DevOps demonstration.
## **Features Added (DevOps)**
- **Dockerized Node.js Application**
- Added `Dockerfile` for containerization
- Runs the app on port `3000` in a Docker container
- **Jenkins CI/CD Pipeline**
- Added `Jenkinsfile` to:
- Pull code from GitHub
- Install dependencies
- Run tests (`npm test`, `npm lint`)
- Build Docker image
- Run Docker container
## **Prerequisites**
- Docker
- Docker Compose (optional)
- Jenkins server
- Node.js 18+ (for local testing)
## **How to Run**
### **1. Clone Project**
```
git clone https://github.com/NahidCSERU/nodejs-socketio-chat-application.git
cd nodejs-socketio-chat-application
```
### 2. Build Docker Image
```
docker build -t nodejs-chat-app .
```
### 3. Run Docker Container
```
docker run -d -p 3000:3000 --name nodejs-chat-app nodejs-chat-app
```
### 4. Access Application
Open your browser and go to:
```
http://localhost:3000
```
## Jenkins CI/CD Setup
1. Install Jenkins with Docker plugin.
2. Create a new pipeline and connect your GitHub repository.
3. Jenkins will automatically:
- Checkout source code
- Install dependencies
- Run tests
- Build Docker image
- Deploy container
Jenkinsfile is included in the repository for full pipeline automation.
## Project Structure
```
nodejs-socketio-chat-application
├── public/
├── .gitignore
├── app.js
├── Dockerfile
├── Jenkinsfile
├── package.json
└── README.md
```
## DevOps Highlights
- Containerized Node.js + Socket.io app
- Automated build & deploy pipeline with Jenkins
- Environment variable management
- Container cleanup for production readiness
- Demonstrates CI/CD, containerization, and monitoring best practices
## Demo Video
[Watch Project Demo Here](https://youtu.be/5XuKyIUNb3Q)
**Author / DevOps:** [Nahid Hasan](https://www.linkedin.com/in/nahiddevops/)