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