Secure Real-Time Chat Application - Backend Service
This is the backend service for SeQura, built as part of the Advanced Programming Practices (APP) project. The backend handles authentication, real-time messaging via WebSocket, and secure data management.
SeQura Backend is a Spring Boot application that provides a real-time chat platform with the following capabilities:
- Real-Time Communication: WebSocket-based instant messaging using STOMP protocol
- Secure Authentication: Phone-based OTP authentication with JWT token management
- End-to-End Encryption Ready: Framework for AES-256-GCM encryption
- Storage: MySQL database for users, messages, and chat sessions
- Spring Boot 3.2.0 - Main application framework
- Spring Security - Authentication and authorization
- Spring Data JPA - Database ORM and repository management
- Spring WebSocket - Real-time bidirectional communication
- MySQL 8.0+ - Primary data storage
- Hibernate - ORM implementation
- JWT (JSON Web Tokens) - Stateless authentication with HS512 algorithm
- BCrypt - Password hashing (if implemented)
- OTP System - 6-digit one-time password generation
- STOMP Protocol - Simple Text Oriented Messaging Protocol
- SockJS - WebSocket fallback support
- Message Broker - In-memory message queue
- Maven - Project management and build tool
- Java 17 - Programming language
- Lombok - Code generation and boilerplate reduction
git clone https://github.com/anish-9387/SeQura-backend.git
cd SeQura-backendmvn clean installThis will download all required dependencies and build the project.
mvn spring-boot:run