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.
Warning This project is still in development and is not ready for production use.
- can see all categories and ads corresponding to the category
- can see all active ads
- can see his active ads and archive them
- can see his archived ads
- can create an ad
- can see the site statistics (number of active ads, users categories, etc.)
- can see all categories and delete them
- can add a category
- can see all active users and deactivate them
- can see all deactivated users and activate or delete them
- can see all active ads and deactivate them
- can see all archived ads and activate or delete them
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.
git clone https://github.com/dzhanrafetov/Melifera
File -> Open -> The `pom.xml` file from the project folder -> Open as project
- Make the connection to the MySQL database.
- If desired, you can insert the
SQL
file from the database folder.
- 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.
- AdvertisementAPI
- CategoryAPI
- UserAPI
- UserDetailsAPI
- EmailAPI
- ImageAPI
- 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
- Java
- Spring Boot
- Spring Data JPA and Hibernate
- Spring Security for authentication and authorization
- Spring Validation for validation
- Spring EmailSender for sending verification emails
- MySQL Database
- Postman for API testing
- Thymeleaf, HTML and CSS for frontend Maven for downloading dependencies
- 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
- 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.