A robust Spring Boot web application for managing users with CRUD operations, form validation, and a clean, responsive UI.
- Create new users with validation
- Update existing user information
- Delete users from the system
- List all registered users
- Form validation with error handling
- Responsive design with modern UI
- User-friendly flash messages
-
Backend
- Spring Boot
- Spring MVC
- Spring Data JPA
- PostgreSQL
- Hibernate Validator
- Thymeleaf
-
Frontend
- HTML5
- CSS3
- Bootstrap 5.3.1
- Font Awesome 6.4.0
- Custom responsive styling
- JDK 17 or later
- Maven
- PostgreSQL
- Git
The application is configured to use PostgreSQL with the following default settings:
spring.datasource.url=jdbc:postgresql://localhost/userManagement
spring.datasource.username=postgres
spring.datasource.password=postgres
You can modify these settings in application.properties
to match your database configuration.
-
Clone the repository:
git clone https://github.com/azevedo1x/User-Management-Spring-WebApp
-
Create PostgreSQL database:
CREATE DATABASE userManagement;
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
Access the application at
http://localhost:8080
src/
├── main/
│ ├── java/programacao/web/
│ │ ├── controller/
│ │ │ └── UserController.java
│ │ ├── dto/
│ │ │ └── UserDTO.java
│ │ ├── exception/
│ │ │ └── UserException.java
│ │ ├── model/
│ │ │ └── User.java
│ │ ├── repository/
│ │ │ └── UserRepository.java
│ │ └── service/
│ │ └── UserService.java
│ │
│ └── resources/
│ ├── static/
│ │ └── css/
│ │ └── styles.css
│ ├── templates/
│ │ ├── index.html # Main landing page
│ │ ├── recordView.html # Create/Update user form
│ │ ├── deleteView.html # Delete user form
│ │ └── readView.html # List users view
│ └── application.properties
- Login is required and must be unique
- Name is required
- Email is required and must be valid
- Password must be between 4 and 8 characters
- Password cannot be the same as login
- Email and password confirmation must match
- Form-based user registration
- Real-time validation
- Duplicate login prevention
- Email confirmation check
- Password validation
- Existing user data modification
- Validation of updated information
- Error handling for non-existent users
- Login-based user removal
- Confirmation messages
- Error handling for non-existent users
- Display of all registered users
- Clean and organized user interface
- Responsive design for all screen sizes
- Fork the repository
- Create your feature branch (
git checkout -b feature/yourFeature
) - Commit your changes (
git commit -m 'Add some yourFeature'
) - Push to the branch (
git push origin feature/yourFeature
) - Open a Pull Request
- Password encryption
- User session management
- CSRF protection
- Rate limiting
- Input sanitization