Welcome to the Spring Boot & Angular Starter Kit! This repository provides a full-stack template for building modern web applications using Spring Boot (backend) and Angular (frontend). It’s designed to help developers quickly set up a robust, scalable, and production-ready project with minimal configuration.
Whether you're a beginner learning full-stack development or an experienced developer starting a new project, this starter kit has you covered.
- Spring Boot & Angular Starter Kit 🚀
-
RESTful APIs with Spring Boot.
-
JWT-based authentication with Spring Security.
-
Database integration using Spring Data JPA (supports MySQL).
-
Exception handling and validation.
-
Modular Angular application with a clean structure.
-
Responsive UI components.
-
Authentication and role-based access control.
-
Ready-to-use project structure.
-
Sample code for CRUD operations.
-
Step-by-step setup guide.
-
Backend: Spring Boot, Spring Security, JWT, Spring Data JPA, MySQL.
-
Frontend: Angular, TypeScript, Angular Material.
-
Tools: Maven, npm, Docker (optional).
-
Java 21
-
Node.js (v22.12.0 or higher)
-
npm (10.9.0 or higher)
-
Angular CLI (19.0.3 or higher)
-
MySQL
-
Apache Tomcat (for production deployment)
- Clone the repository:
git clone https://github.com/your-username/spring-boot-angular-starter-kit.git
cd spring-boot-angular-starter-kit
- Set up the database:
-
Create a new database (e.g.,
starter_db
) in MySQL. -
Update the
application-<dev|prod>.properties
file with your database credentials.
- Build and run the backend:
./mvnw spring-boot:run
The backend will be accessible at http://localhost:8085
.
- Navigate to the frontend folder:
cd src/main/webapp
- Install dependencies:
npm install
- Run the Angular app:
ng serve
The frontend will be accessible at http://localhost:4200
.
-
Run the backend and frontend separately using the commands above.
-
The backend serves REST APIs, while the frontend connects to them.
-
Backend:
Build a WAR file usingmvn clean install
and deploy it to a server like Tomcat. -
Frontend:
Generate a production build usingnpm run build
and deploy the static files to a web server or use the backend as a reverse proxy.
-
config/: Configuration classes (e.g., security, CORS).
-
controller/: REST controllers.
-
service/: Business logic.
-
entity/: Database models.
-
repository/: JPA repositories.
-
app/: Angular modules, components, and services.
-
assets/: Static files (e.g., images, styles).
-
environments/: Environment configurations.
The backend API is documented using Swagger. Access the OpenAPI specification at:
- Development:
http://localhost:8085/swagger-ui/index.html
Contributions are welcome! Here’s how you can help:
-
Fork the repository.
-
Create a new branch (
git checkout -b feature/YourFeature
). -
Make your changes.
-
Commit your changes (
git commit -am 'Add some feature'
). -
Push to the branch (
git push origin feature/YourFeature
). -
Create a new Pull Request.
This project is open source and available under the MIT License. See the LICENSE file for details.