Skip to content

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

License

Notifications You must be signed in to change notification settings

seshathri044/course-backend

Repository files navigation

📚 Course Registration System – Backend

Java CI with Maven

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


🚀 Deployment Architecture

  • Backend API (Spring Boot) → Deployed on Render
  • Database (MySQL) → Hosted on Railway
  • Frontend (HTML/JS) → Deployed on Netlify
  • API Testing → Verified via Postman

🏗️ System Architecture

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)"]

Loading

✨ Features

  • 🔎 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

🛠️ Tech Stack

  • Language: Java 17+
  • Framework: Spring Boot
  • ORM: Spring Data JPA / Hibernate
  • Database: MySQL (Railway)
  • Build Tool: Maven
  • Deployment: Render + Docker

📸 Screenshots

API Testing BE3 Backend Deployment BE2 MySQL Deployment BE7


📂 Project Structure

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

⚡ Setup Instructions

1️⃣ Clone the repository

git clone https://github.com/seshathri044/course-backend.git
cd course-backend

2️⃣ Configure Database

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

3️⃣ Run with Maven (local dev)

mvn spring-boot:run

Backend will start at 👉 http://localhost:8080

4️⃣ Run with Docker

Build and run containerized backend: docker build -t course-backend . docker run -p 8080:8080 course-backend


🔗 API Endpoints

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.

🔄 Repo Navigation

Frontend Repo 👉 course-frontend

Backend Repo 👉 course-backend

🤝 Contributing

  • Contributions are welcome!

📜 License

This project is licensed under the Apache-2.0 License – see the LICENSE file for details.

About

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

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published