A simple chat web application made with Java, Spring Boot, Thymeleaf and Spring Security OAuth2. When using the application, you can login with your Google or GitHub account and start chatting with other users.
The application is deployed on Railway, you can check it out here.
The project is still in development. You can check the project status below.
Feature | Status |
---|---|
Consistent API design | π‘ In development |
Use of DTOs | π’ Ready |
Spring Security and OAuth2 | π’ Ready |
Login with Google and GitHub | π’ Ready |
Spring Data MongoDB | π’ Ready |
Layered architecture | π‘ In development |
Global Error Handling | π‘ In development |
API versioning | π’ Ready |
Logging with Log4j2 | π‘ In development |
CI/ CD with Docker and Railway | π’ Ready |
This layer is at the top of the architecture. This tier is responsible for:
βοΈ Performing authentication.
βοΈ Converting JSON data into an object (and vice versa).
βοΈ Handling HTTP requests.
βοΈ Transfering authentication to the business layer.
The business layer is responsible for:
βοΈ Performing validation.
βοΈ Performing authorization.
βοΈ Handling the business logic and rules.
This layer is responsible for:
βοΈ Containing storage logic.
βοΈ Fetching objects and translating them into database rows (and vice versa).
This layer is simply the actual database that is responsible for:
βοΈ Performing database operations (mainly CRUD operations).
- Clone the repository
- Navigate to the project directory
- Build the project using Maven:
./mvnw clean package -DskipTests
- Run the project using Maven wrapper:
./mvnw spring-boot:run
- The application will start on http://localhost:8080, you can simply access it in your browser.