Shiitake is a backend platform for a FoodWaste Conscious Ordering System that manages accounts creation, businesses enrollment order requests and many more. This repository represents only the Backend of the Shiitake System composed of 3 main components.
- Clone the repository:
git clone https://github.com/xatyy/shiitake.git
- Navigate to the project directory:
cd shiitake
- Build the project:
./mvnw clean install
Important
For this Backend to be fully operable an AWS account is required for database saving, email sending and media usage. This project is making use of the following services: S3 Bucket, Redis and SES.
Inside application-prod.properites and application-dev.properites the following lines must be changed:
spring.datasource.url= <db url>
spring.datasource.username= <db username>
spring.datasource.password= <db password>
spring.cloud.aws.credentials.access-key= <AWS Public key>
spring.cloud.aws.credentials.secret-key= <AWS Secret key>
custom.aws.s3.endpoint=https://<your own url>.eu-north-1.amazonaws.com
custom.aws.ses.endpoint=https://<your own url>.eu-north-1.amazonaws.com├── BackendApplication.java
├── configuration # App configuration (AWS, security, Swagger, WebSocket)
├── controller # REST API controllers
├── dto # Data Transfer Objects
├── exceptions # Custom exceptions and error handling
├── mapper # Model-to-DTO mappers
├── model # JPA entities / data models
├── repository # Database repositories
├── service # Business logic services
├── schedule # Scheduled tasks
├── security # Security configuration and JWT
└── utils # Utility classes
- This project follows SOLID principles, layered architecture, DRY, IoC/DI, modularization, and exception handling.
- Finish Shiitake Frontend.
- Dockerize Full Project.
- Create the mobile app to connect to Shiitake System.
Made with <3 by xaty.
