Auth service Backend for metaverse project
- Spring Boot Application: Quickly set up and run RESTful services.
- JPA & Hibernate: Object Relational Mapping (ORM) for database interaction.
- Security with Spring Security & JWT: Secure endpoints using JSON Web Tokens (JWT).
- Validation: Input validation using
spring-boot-starter-validation. - Lombok for Boilerplate Code: Reduce boilerplate code like getters/setters.
- Caching: Integrated caching with
Ehcache. - Google Integration: Use of Google API for external services.
- H2 Database for Testing: An in-memory H2 database for development and testing purposes.
- Java 17: Ensure that you have JDK 17 installed on your machine.
- Maven: Apache Maven is required to manage dependencies and build the project.
- MySQL / MariaDB (Optional): If you intend to connect to a MySQL/MariaDB database, ensure it is installed and configured.
- Google OAuth Client ID (Optional): For integrating Google services.
-
Clone the Repository:
git clone https://github.com/UKDW-RealityVisionLab/MetaverseAuthentication.git cd MetaverseAuthentication -
Install Dependencies: Use Maven to install project dependencies.
mvn clean install
- Application Properties: Configure the necessary properties in src/main/resources/application.yml.
spring: datasource: username: your mysql username password: your mysql password app: oauth2: googleClientId: your-google-client-id googleSecret: your-google-secret
- Development: To start the development server, run:
mvn spring-boot:run
- Spring Boot: For creating easy-to-build and scalable backend systems.
- Spring Security: For powerful and highly customizable authentication and access-control framework.
- Spring Data JPA: To easily implement JPA-based (Java Persistence API) repositories
- Hibernate: For ORM and data persistence.
- Project Lombok: To simplify Java code with annotations.
- H2 Database: For easy in-memory database testing.
- Google APIs: For integration with Google services.