A full-stack real-time chat application built with React, Spring Boot, and WebSocket technology. Your mission: Containerize this application using Docker and deploy it to Hostinger VPS using Jenkins CI/CD pipeline.
π REGISTER NOW
Deadline: September 5, 2025
What you need to register:
- Your Name
- Email ID
- LinkedIn Profile URL
- GitHub Profile URL
π€ SUBMISSION FORM
Deadline: September 10, 2025 (11:59 PM)
Repository URL: https://github.com/iemafzalhassan/chattingo
- Currently: Private repository (registration phase)
- Will be public: After registration closes (Sept 6)
- Action Required: Fork & star the repository once it becomes public
Transform this vanilla application into a production-ready, containerized system with automated deployment!
- Hackathon Overview
- Architecture Overview
- Technology Stack
- Quick Start
- Your Tasks
- Application Features
- Project Structure
- Submission Requirements
- Support & Resources
- Judging Criteria
- Build & Deploy: Create Dockerfiles and containerize the application
- CI/CD Pipeline: Implement Jenkins automated deployment
- VPS Deployment: Deploy on Hostinger VPS using modern DevOps practices
π REGISTER HERE - Complete by Sept 5
Registration Form Requirements:
- Name
- Email ID
- LinkedIn Profile
- GitHub Profile
- Sept 6: Kickoff session (VPS setup, Docker + Jenkins basics)
- Sept 7-10: Build period (3 days)
- Sept 10: Submissions close at 11:59 PM
- Sept 11-12: Judging & reviews
- Sept 13: Winners announced
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Database β
β (React) βββββΊβ (Spring Boot) βββββΊβ (MySQL) β
β Port: 80 β β Port: 8080 β β Port: 3306 β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β
βββββββ WebSocket βββββββ
- React 18 - Modern UI framework
- Redux Toolkit - State management
- Material-UI - Component library
- Tailwind CSS - Utility-first CSS
- WebSocket (SockJS + STOMP) - Real-time messaging
- React Router - Client-side routing
- Spring Boot 3.3.1 - Java framework
- Spring Security - Authentication & authorization
- Spring Data JPA - Database operations
- Spring WebSocket - Real-time communication
- JWT - Token-based authentication
- MySQL - Database
- Docker - Containerization (YOU BUILD)
- Docker Compose - Multi-container orchestration (YOU BUILD)
- Jenkins - CI/CD pipeline (YOU BUILD)
- Nginx - Web server & reverse proxy (YOU BUILD)
# Fork this repository on GitHub: https://github.com/iemafzalhassan/chattingo
# Then clone your fork
git clone https://github.com/YOUR_USERNAME/chattingo.git
cd chattingo- πβEvents-Announcement: Stay updated
- πβEvents-Chat: Get technical support
Follow CONTRIBUTING.md for detailed setup instructions.
- Sept 7-10: Build your implementation
- Sept 10: Submit before 11:59 PM
- Detailed Setup & Deployment: CONTRIBUTING.md
You need to create these files from scratch:
- Stage 1: Node.js build environment
- Stage 2: Build React application
- Stage 3: Nginx runtime server
- Stage 1: Maven build environment
- Stage 2: Build Spring Boot application
- Stage 3: JRE runtime
Create docker-compose.yml to orchestrate all services.
Scoring: Single Stage (2), Two Stage (4), Multi Stage (5)
Create a Jenkinsfile with these stages:
pipeline {
agent any
stages {
stage('Git Clone') {
// Clone repository from GitHub (2 Marks)
}
stage('Image Build') {
// Build Docker images for frontend & backend (2 Marks)
}
stage('Filesystem Scan') {
// Security scan of source code (2 Marks)
}
stage('Image Scan') {
// Vulnerability scan of Docker images (2 Marks)
}
stage('Push to Registry') {
// Push images to Docker Hub/Registry (2 Marks)
}
stage('Update Compose') {
// Update docker-compose with new image tags (2 Marks)
}
stage('Deploy') {
// Deploy to Hostinger VPS (5 Marks)
}
}
}- Jenkins Shared Library: 3 Marks
- Active Engagement: 2 Marks
- Creativity: 2 Marks
- Quality Storytelling: 10 Marks
- README (Compulsory): 3 Marks
- Blog (Optional): 2 Marks
- Video (Compulsory): 5 Marks
- Hostinger VPS Setup: Ubuntu 22.04 LTS, 2GB RAM
- Domain Configuration: Setup your domain with DNS
- SSL Certificate: Configure HTTPS with Let's Encrypt
- Production Deployment: Automated deployment via Jenkins
Detailed Instructions: See CONTRIBUTING.md
- β User authentication (JWT)
- β Real-time messaging (WebSocket)
- β Group chat creation
- β User profile management
- β Message timestamps
- β Responsive design
POST /api/auth/register - User registration
POST /api/auth/login - User login
GET /api/users - Get users
POST /api/chats/create - Create chat
GET /api/chats - Get user chats
POST /api/messages/create - Send message
GET /api/messages/{chatId} - Get chat messages
WS /ws - WebSocket endpoint
chattingo/
βββ backend/ # Spring Boot application
β βββ src/main/java/
β β βββ com/chattingo/
β β βββ Controller/ # REST APIs
β β βββ Service/ # Business logic
β β βββ Model/ # JPA entities
β β βββ config/ # Configuration
β βββ src/main/resources/
β β βββ application.properties
β βββ .env # Environment variables
β βββ pom.xml
βββ frontend/ # React application
β βββ src/
β β βββ Components/ # React components
β β βββ Redux/ # State management
β β βββ config/ # API configuration
β βββ .env # Environment variables
β βββ package.json
βββ CONTRIBUTING.md # Detailed setup & deployment guide
βββ README.md # This file
π€ Submission Form: Submit Here
Deadline: Sept 10, 11:59 PM
- Name - Your full name
- Email ID - Contact email
- GitHub Repository URL - Your forked and implemented project
- Video Demo URL - 3-minute demo video (YouTube/Drive link)
- Live Application URL - Your deployed application on VPS
- Blog URL - Technical writeup (Optional but recommended)
- README URL - Link to your updated README file
-
GitHub Repository with your implementation
- β Dockerfiles (Backend & Frontend - 3-stage builds)
- β docker-compose.yml (Root level orchestration)
- β Jenkinsfile (Complete CI/CD pipeline)
- β nginx.conf (Frontend configuration)
- β Environment configurations
- β Updated README with deployment instructions
-
Live Application deployed on Hostinger VPS
- β Working chat application with HTTPS
- β SSL certificate configured
- β Domain properly configured
- β All features functional (registration, login, messaging)
-
Video Demo (3 minutes max) showing:
- β Local Docker setup demonstration
- β Jenkins pipeline execution
- β Live application walkthrough on VPS
- β Key features demonstration
- Blog Post - Technical writeup of your implementation (2 marks)
- Additional Features - Enhancements to the chat app
- Monitoring - Application monitoring and logging
- Security - Additional security measures
- Register Here with your details
- Fork this repository: https://github.com/iemafzalhassan/chattingo
- Join Discord channels for updates and support
- Attend intro session - VPS setup guide, Docker & Jenkins basics
- Get your VPS access and domain setup
- Ask questions and clarify requirements
- Day 1: Local development setup β CONTRIBUTING.md
- Day 2: Docker & Jenkins implementation
- Day 3: VPS deployment β CONTRIBUTING.md
π€ SUBMIT HERE before 11:59 PM
- Sept 11-12: Judging & reviews
- Sept 13: Winners announced
- πβπ€ππΎπππ-π ππππππΌπΎππΎππ: Stay Active in the Announcement channel for Hackathon Update.
- πβπ€ππΎπππ-π’ππΊπ: Technical support.
| Component | Marks | Description |
|---|---|---|
| Dockerfile | 5 | Multi-stage implementation |
| Jenkinsfile | 17 | Complete CI/CD pipeline |
| Shared Library | 3 | Reusable Jenkins components |
| Engagement | 2 | Active participation |
| Creativity | 2 | Unique features/implementation |
| Documentation | 10 | README, blog, video |
Good luck with your hackathon project! π