This repository contains a robust RESTful API server built with Spring Boot. The application provides the backend services for my Angular client, handles authentication, business logic, and data persistence. The client code can be found on [https://github.com/BongaGougota0/Angular_Client]
- Spring Boot: Java-based framework for creating stand-alone production-grade applications
- Spring Security: Authentication and authorization
- Spring Data JPA: Data persistence and ORM
- Hibernate: Object-relational mapping
- Mysql: Relational database
- Lombok: Boilerplate code reduction
- JDK 17 or later (this project : Java 21)
- Maven 3.8.x
- MySQL 8.x
-
Clone the repository:
git clone https://github.com/BongaGougota0/Angular_Server_Fatty cd Angular_Server_Fatty -
Configure the database connection in
src/main/resources/application.properties: -
Build the application:
# Maven ./mvnw clean package -
Run the application:
# Maven ./mvnw spring-boot:run
The server will start at http://localhost:8080.
src/
βββ main/
β βββ java/com/yourcompany/app/
β β βββ configuration/ # Configuration classes, demo data generator
β β βββ controller/ # REST controllers
β β βββ dto/ # Data Transfer Objects
β β βββ exception/ # Custom exceptions
β β βββ models # Entity classes
β β βββ repositories/ # Data access layer
β β βββ security/ # Authentication & authorization
β β βββ service/ # Business logic
β β βββ util/ # Utility classes
β βββ resources/
β βββ app-.properties # Application configuration
β βββ schema.sql # script for creating schema and tables
Key environment variables that need to be set:
SPRING_DATASOURCE_URLSPRING_DATASOURCE_USERNAMESPRING_DATASOURCE_PASSWORDJWT_SECRET
Bonga Gougota Gongotha