A production-ready backend service for a full-stack Course Registration System, built with Spring Boot, MySQL, JPA/Hibernate, and containerized with Docker.
This backend powers the deployed frontend app:
🔗 Live Frontend: Course Registration System
- Backend API (Spring Boot) → Deployed on Render
- Database (MySQL) → Hosted on Railway
- Frontend (HTML/JS) → Deployed on Netlify
- API Testing → Verified via Postman
flowchart TD
A["Frontend - Netlify\n(HTML/CSS/JS/Bootstrap)"] -->|REST API Calls| B["Backend - Render\n(Spring Boot, JPA)"]
B -->|SQL Queries| C["Database - Railway\n(MySQL)"]
- 🔎 List all available courses
- 📝 Register a student for a course
- 👨🎓 View enrolled students
- ✅ REST API architecture (tested with Postman)
- ✅ Persistent storage with MySQL + JPA/Hibernate
- ✅ Clean Service & Repository layer separation
- ✅ Configurable environment via
application.properties
- ✅ Dockerized backend for easy deployment
- Language: Java 17+
- Framework: Spring Boot
- ORM: Spring Data JPA / Hibernate
- Database: MySQL (Railway)
- Build Tool: Maven
- Deployment: Render + Docker
API Testing
Backend Deployment
MySQL Deployment
course-backend/
│── src/main/java/com/example/Course/Registration/System
│ ├── controller/ # REST Controllers
│ ├── model/ # Entities (Course, CourseRegister)
│ ├── repository/ # Spring Data Repositories
│ ├── service/ # Business Logic Layer
│ └── CourseRegistrationSystemApplication.java
│
│── src/main/resources
│ ├── application.properties # Config (DB, ports, etc.)
│
│── Dockerfile
│── pom.xml
│── README.md
git clone https://github.com/seshathri044/course-backend.git
cd course-backend
Update src/main/resources/application.properties with your DB credentials:
spring.datasource.url=jdbc:mysql://<RAILWAY_DB_HOST>:<PORT>/<DB_NAME>
spring.datasource.username=<DB_USER>
spring.datasource.password=<DB_PASS>
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
mvn spring-boot:run
Backend will start at 👉 http://localhost:8080
Build and run containerized backend: docker build -t course-backend . docker run -p 8080:8080 course-backend
Method | Endpoint | Description |
---|---|---|
GET | /courses |
List all available courses |
POST | /courses/register |
Register a student |
GET | /courses/enrolled |
View enrolled students |
👉 Full API collection tested in Postman.
Frontend Repo 👉 course-frontend
Backend Repo 👉 course-backend
- Contributions are welcome!
This project is licensed under the Apache-2.0 License – see the LICENSE file for details.