This is a Java based Backend For Frontend(BFF) service which is built with Spring Framework. The service is designed mainly to handle requests from frontend Journeys Single Page Application(SPA).
The Service use MongoDB Atlas to persist data.
Since application uses geographical information, data is being stored in GeoJSON format with help of library Commons GeoJson.
Please find below steps to setup and run application in your workstation.
The service uses MongoDB for persistence. For Local development, Local MongoDB instance created with help of Docker CLI. So make sure you have installed Docker CLI or any other docker container tool.
- Download Repository
git clone https://github.com/nramc/journey-api.git
- Run Application with spring profile
dev
mvn spring-boot:run -Dspring-boot.run.profiles=dev
- Local MongoDB can be accessed in http://localhost:9090/ with help of Mongo Express
- To test REST resource, use IntelJ Http Client scripts available in
src/test/resources/http-scripts/
directory.
Any contributions you make are greatly appreciated.
If you like the project and have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: Add the AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Manually run Prepare Release Workflow with release version "MAJOR.MINOR.PATCH" e.g. 0.0.1
- The Workflow flow creates a new tag with provided release version vMAJOR.MINOR.PATCH e.g. v0.0.1
- The Workflow creates Release as well with release notes and make the release as latest
- As soon as new
Release
created, which triggers Release Workflow with release event - The
Release
workflow build & test project after checkout - When build successful, creates Docker image and publish it to Docker Hub
- Finally triggers Render webhook for deployment
Ramachandran Nellaiyappan Website | Twitter | E-Mail
Sincere Thanks to following open source community for their wonderful efforts to make our life much easier.
- Spring IO - Java Web Framework
- MongoDB - Persistence Layer
- Spring Rest Doc - Spring REST Doc with Open API support for Swagger UI
- OpenRewrite - Automated source code refactoring
- Docker - Containerization
- Testcontainers - Run containers on-demand for development and testing
Give a ⭐️ if you like this project!