Languages:
Português |
English
The Customer Manager App is a Full Stack application to manage customers in a simple and modern way.
Manage customers with a modern CRUD, reactive forms, Angular, Spring Boot and PostgreSQL.
- Local: uses
application-local.propertiesand local PostgreSQL. - Production: uses
application-prod.propertiesand PostgreSQL on Render (env vars).
- Java 21
- Node.js 18+
- Angular CLI installed globally (
npm install -g @angular/cli) - Running PostgreSQL instance
Create a database in PostgreSQL:
CREATE DATABASE localhost_customer_manager_app;Local credentials live in backend/src/main/resources/application-local.properties.
From /backend directory:
SPRING_PROFILES_ACTIVE=local mvn spring-boot:runWindows PowerShell:
$env:SPRING_PROFILES_ACTIVE="local"; mvn -q -DskipTests spring-boot:runBackend will be available at: http://localhost:8080/api/customers
From /frontend directory:
npm install
ng serveFrontend will be available at: http://localhost:4200
- Backend: Render (Spring Boot + PostgreSQL)
- Frontend: Vercel (Angular)
- Render env vars:
DB_URL,DB_USER,DB_PASSWORD,SPRING_PROFILES_ACTIVE=prod
The Customer Manager App provides a complete CRUD with a modern and responsive UI.
-
Create Customer
Reactive form with validation and visual feedback. -
List Customers
Responsive table with action buttons (Update / Delete). -
Update Customer
Data editing using a pre-filled form by ID. -
Delete Customer
Instant deletion with automatic list refresh. -
Modern UI
- Warm Sand theme with light cards
- Manrope typography
- Buttons with hover and focus effects
- Centered and responsive layout
-
Validation and friendly errors
- Frontend and backend validation
- Clear field messages and friendly 400 errors
Throughout this project, several best practices were applied:
- Use of standalone components in Angular
- Reactive Forms with validation and data patching
- REST integration between Angular and Spring Boot
- CORS configuration and dynamic routing
- Modern styling and responsive UX
Contributions are very welcome! To contribute:
- Fork the repository
- Create a branch:
git checkout -b feature/new-feature - Commit your changes following Conventional Commits
- Open a Pull Request
This project is licensed under the MIT License.
Piter Gomes — Computer Science Student (5th Semester) & Full-Stack Developer


