Checklist for New Java Application or Service
This article outlines the essential steps and considerations for Creating a new Java Application or Service
- Spring Initializr is great tool for creating initial projects with predefined initial setup. I find it really helpful.
- Set up Sonar project for the repository. If it is open source project, Sonar Cloud is really helpful for maintaining good quality code
- Setup Continues Integration(CI) workflow for each commit and merge request. Feel free to have look: Journey API | ci-build-workflow.yml
- Setup Continues Deployment(CD) workflow for automated deployment to QA & LIVE environments. Feel free to have look: Journey API | release-workflow.yml
- Docker Compose really helps and boost developer productivity and reduce complexity for environment setup.
- Containerization: Use Docker or other container solutions to package the application consistently. Feel free to have look Journey API | Dockerfile
- Renovate Bot integration really helps to automatically update dependencies. Feel free to have look Journey API | renovate.json
- OpenRewrite integration really powerful tool to maintain good code quality and automated refactoring to reduce technical debt. Feel free to have look Journey API | rewrite.yml
- Open API with Swagger Document the code and create developer-friendly API documentation. Personally I would recommend Open API Specification with Swagger UI. Feel free to have look Journey API Configuration & REST API Documentation