https://github.com/akmal2409/spring-foodie-app-react
Foodie App Backend repository contains the source code and documentation of the Spring Boot backend
Project is build based on MVC (Model View Controller) architecture and uses 3 Tier Architecture.
Read more:
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
https://en.wikipedia.org/wiki/Multitier_architecture
- Move it to Microservice architecture with Spring Cloud
Implement CI/CD- Implemented
Integration with AWS S3 for image upload - Deploy it on AWS in a managed Kubernetes cluster as set of microservices
- ~~Add ElasticSearch
- Integrate with TomTom API to query delivery places
[email protected]:akmal2409/spring-foodie-app-backend.git
https://github.com/akmal2409/spring-foodie-app-backend.git
gh repo clone akmal2409/spring-foodie-app-backend
docker compose up -d
You have to set following environmental properties on your machine using following commands
(Windows CLI) $ set PROPERTY_NAME=VALUE
(Linux CLI) $ export PROPERTY_NAME=VALUE
OKTA_OAUTH2_ISSUER=https://issuer.domain
OKTA_OAUTH2_CLIENT_ID=<clientId>
OKTA_OAUTH2_CLIENT_SECRET=<clientSecret>
CLOUD_AWS_CREDENTIALS_ACCESS_KEY=<aws access key>
CLOUD_AWS_CREDENTIALS_SECRET_KEY=<aws secret key>
mvn clean install
mvn spring-boot:run
mvn clean package dockerfile:build
mvn clean test
mvn clean verify -P integration-test
- Spring Framework 5
- Spring Boot 2.5.5
- Hibernate
- Project Lombok
- Okta (OIDC)
- AWS S3 Image Upload
- MYSQL
- Docker
- Mapstruct (To map entities to Data Transfer Objects)
- Spotify Maven Dockerfile Plugin
- Mockito
- JUnit 5
- Testcontainers
- Maven Surefire for Unit Tests
- Maven Failsafe for integration tests
- Java 17
- Maven
https://adoptium.net/
https://maven.apache.org/download.cgi