Skip to content

Latest commit

 

History

History
72 lines (41 loc) · 1.66 KB

README.md

File metadata and controls

72 lines (41 loc) · 1.66 KB

authentication-system

A simple login and authentication system to learn more about Spring Security and API securing. Project developed with Java, Spring Boot, Spring Security, Spring Data JPA and Java Mail Sender.

Requirements

Architecture Layers

PRESENTATION LAYER

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.

BUSINESS LAYER

The business layer is responsible for:

✔️ Performing validation.

✔️ Performing authorization.

✔️ Handling the business logic and rules.

PERSISTENCE LAYER

This layer is responsible for:

✔️ Containing storage logic.

✔️ Fetching objects and translating them into database rows (and vice versa).

DATABASE LAYER

This layer is simply the actual database that is responsible for:

✔️ Performing database operations (mainly CRUD operations).

Software structure

image

Getting Started

  1. Clone the repository
  2. Navigate to the project directory
  3. Build the project using Maven:
./mvnw clean install
  1. Run the project using Maven wrapper:
./mvnw spring-boot:run
  1. The application will start on http://localhost:8080

Usage

  • You will also need the database installed on your machine and set the connection vars on the application.properties or application.yml