crud-angular-spring
crud-angular-spring copied to clipboard
π₯ CRUD Angular + Spring demonstrating Has-Many relationship, including tests for the back-end and front-end
REST API with Spring Boot and Angular
CRUD Angular + Spring demonstrating Has-Many relationship, with tests.
π» Tecnologies
- Java 17
- Spring Boot 3
- JPA + Hibernate
- JUnit 5 + Mockito (back-end tests)
- Maven
- Angular v14
- Angular Material
- Karma + Jasmine (front-end tests)
β¨οΈ Editor / IDE
Some functionalies available in the API
- β Java model class with validation
- β JPA repository
- [ ] JPA Pagination
- β Controller, Service and Repository layers
- β Has-Many relationship (Course-Lessons)
- [ ] Swagger
- β Java 17 Records as DTO (Data Transfer Object)
- β Hibernate / Jakarta Validation
- β Unit tests for all layers (repository, service, controller)
Some functionalies available in the Front-end
- [ ] Angular Material components
- [ ] List of all courses
- [ ] Form to update/create courses with lessons (has-many - FormArray)
- [ ] View only screen
- [ ] TypedForms (Angular v14+)
- [ ] Presentational x Smart Components
- [ ] Unit and Integration tests for components, services, pipes, guards
βοΈExcuting the code locally
Executing the back-end
You need to have Java and Maven installed and configured locally.
Open the crud-spring
project in your favorite IDE as a Maven project and execute it as Spring Boot application.
Executing the front-end
You need to have Node.js / NPM installed locally.
- Install all the required depencencies:
npm install
- Execute the project:
npm run start
This command will run the Angular project with a proxy to the Java server, without requiring CORS.
Open your browser and access http://localhost:4200 (Angular default port).