The Internet Supplier Management System is a robust full-stack web application designed to manage internet customers efficiently. Users can create accounts, log in via secure OAuth, and perform customer operations such as adding, viewing, editing, and deleting records. The application leverages modern frameworks and libraries for optimal performance, scalability, and security.
- OAuth Authentication with Google and GitHub.
- User Management: Register and log in users securely.
- Customer Management: Add, update, delete, and view customer data.
- Spring Scheduling: For periodic tasks such as generating invoices and updating subscription statuses.
- Jakarta Bean Validation: Ensures data integrity with annotations for type validation.
- RESTful APIs for easy integration.
- Dockerized Deployment with CI/CD pipelines via GitHub Actions.
- Unit & Integration Testing using Mockito and Flapdoodle Embedded MongoDB.
- Java
- Spring Boot
- Spring Scheduling
- Lombok
- MongoDB
- Mockito
- Flapdoodle Embedded MongoDB
- OAuth 2.0 (Google, GitHub)
- Jakarta Bean Validation (for type validation)
- React
- TypeScript
- Docker
- Git & GitHub
- GitHub Actions (CI/CD)

