- Real-time Weather Data: Fetches current weather information from external APIs.
- User Authentication: Supports user registration and login with JWT-based authentication.
- Scheduled Updates: Uses schedulers to fetch and update weather data periodically.
- Role-based Access Control: Implements different access levels for users and admins.
- Spring Boot: Backend framework for building Java applications.
- Spring Security: Provides authentication and authorization.
- JWT: For secure user authentication.
- Hibernate: ORM framework for database interactions.
- MySQL: Relational database for storing user and weather data.
- Maven: Build and dependency management tool.
- RESTful APIs: For client-server communication.
- MapStruct: For object mapping.
- Scheduler: To automate periodic tasks.
- JUnit: Testing framework for unit tests.