Skip to content

Web Ecommerce Application with Spring Boot , Spring Security , Thymeleaf

Notifications You must be signed in to change notification settings

dzhanrafetov/Melifera

Repository files navigation

Melifera Ecommerce API

Summary

The webplatform is designed to allow users to upload advertisements for bee products, services and related items. However, in order to provide a secure and controlled environment, the administrator has the right to monitor and manage these ads and users.

image

Warning This project is still in development and is not ready for production use.

Features:

For Users:

  1. can see all categories and ads corresponding to the category
  2. can see all active ads
  3. can see his active ads and archive them
  4. can see his archived ads
  5. can create an ad

For Admin:

  1. can see the site statistics (number of active ads, users categories, etc.)
  2. can see all categories and delete them
  3. can add a category
  4. can see all active users and deactivate them
  5. can see all deactivated users and activate or delete them
  6. can see all active ads and deactivate them
  7. can see all archived ads and activate or delete them

Documentation

The project includes documentation in the Bulgarian language, located in the documentation folder. You can refer to this
documentation for detailed information about the project.

Installation

1. Clone the repository

git clone https://github.com/dzhanrafetov/Melifera

2. Open the project

File -> Open -> The `pom.xml` file from the project folder -> Open as project

3.Database Connection

  • Make the connection to the MySQL database.
  • If desired, you can insert the SQL file from the database folder.

4.Configure

  • Configure your email to enable sending emails for verification Gmail Settings
  • Set the local variables for the email data, such as email and password, by introducing local variables from the MailConfig file.

Application APIS

The application has 7 APIS:

  • AdvertisementAPI
image
  • CategoryAPI
image
  • UserAPI
image
  • UserDetailsAPI
image
  • EmailAPI
image
  • ImageAPI
image
  • ThymeleafApi
  • contains APIs that have similar functionality to the other APIs in the project. However, they are separated into a distinct API because they specifically return models that are designed for rendering with the Thymeleaf frontend framework. This separation allows for better organization and encapsulation

Tech Stack

  • Java Java
  • Spring Spring Boot
  • Spring Spring Data JPA and Hibernate
  • Spring Spring Security for authentication and authorization
  • Spring Spring Validation for validation
  • Spring Spring EmailSender for sending verification emails
  • Java  MySQL Database
  • Java Postman for API testing
  • Java Thymeleaf, HTML and CSS for frontend  Maven for downloading dependencies

The strengths of the application lie in:

  • Account confirmation with email verification
  • Responsive and Simplistic design
  • Respect for MVC structure
  • Dto's are used for transferring data between different layers or components of an application

Pending :

  • The frontend will be rewritten to React
  • Sessions will be added.
  • The authorization will be changed from Basic Auth to OAuth 2.0.
  • API calls to list all towns, regions, etc. will be implemented.
  • Users will be able to make changes to their data such as password, city, number, etc.

About

Web Ecommerce Application with Spring Boot , Spring Security , Thymeleaf

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published