Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muhammed-safwat/todo-backend
This Java Spring Boot application is designed to manage to-do lists and provide user authentication with email and password. It also supports social login and registration for user convenience
https://github.com/muhammed-safwat/todo-backend
java jwt-authentication mysql-database outh2 spring-boot spring-security springdata swagger-ui
Last synced: about 4 hours ago
JSON representation
This Java Spring Boot application is designed to manage to-do lists and provide user authentication with email and password. It also supports social login and registration for user convenience
- Host: GitHub
- URL: https://github.com/muhammed-safwat/todo-backend
- Owner: Muhammed-Safwat
- Created: 2023-10-24T21:02:32.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-31T19:07:59.000Z (about 1 year ago)
- Last Synced: 2023-11-01T19:39:30.316Z (about 1 year ago)
- Topics: java, jwt-authentication, mysql-database, outh2, spring-boot, spring-security, springdata, swagger-ui
- Language: Java
- Homepage:
- Size: 2.09 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# To-Do Application (Back end)
## Overview
This Java Spring Boot application is designed to manage to-do lists and provide user authentication with email and password. It also supports social login and registration for user convenience.
## Features
- Create, Read, Update, and Delete (CRUD) operations for to-do items.
- User authentication with email and password.
- Social login and registration using popular social media platforms.
- Secure and easy-to-use API endpoints for managing tasks and user accounts.## Class Digram
## Technology
- **Java 11**: The application is built using Java 11, harnessing its robust features and compatibility.
- **Spring Boot**: The project is based on the Spring Boot framework, providing a strong foundation for building web applications.
- `spring-boot-starter-data-jpa`: For data access using JPA.
- `spring-boot-starter-security`: Enabling security features.
- `spring-boot-starter-web`: Facilitating web application development.- **OAuth2 Support**: The following dependencies are used for social login:
- `spring-security-oauth2-client`: Supporting OAuth2 client functionality.
- `spring-security-oauth2-jose`: Handling OAuth2 JSON Web Tokens (JWT).- **Database Connectivity**: The application connects to a database using:
- `mysql-connector-java`: A MySQL JDBC driver for database interaction.- **API Documentation**: API documentation is made possible with:
- `springdoc-openapi-starter-webmvc-ui`: Providing OpenAPI documentation and Swagger UI for API exploration.- **Lombok**: Reducing boilerplate code in Java classes, enhancing code readability.
- **MapStruct**: Simplifying object mapping, allowing easy conversion between data transfer objects (DTOs) and entity objects.
- **Log4j2**: Logging is configured with Log4j2 for effective application log management.
- **Spring Boot DevTools**: Streamlining development with automatic application restarts during development.
- **Spring Boot Starter Mail**: Enabling email functionality for features such as password reset and email notifications.
- **Spring Boot Starter Validation**: Supporting input and data validation for improved data integrity.
- **JJWT (Java JWT)**: Handling JSON Web Tokens in Java applications, facilitated by the following dependencies:
- `jjwt-api`, `jjwt-impl`, `jjwt-jackson`.These primary technologies and dependencies form the core of the application, enabling the development of a secure and feature-rich to-do application with user authentication and social login capabilities.