eTachka Marketplace is a web car marketplace. It is built using React for frontend and Java Spring Boot for backend. Designed and developed by a team joint at TeamChallenge.
This section contains all the useful information for developers.
Ensure you have the following installed on your local machine:
- Java 17
- Docker
To run the development environment, use the bootDevRun
gradle task. It will set up all necessary services in Docker
and bind it to the application. Once the application is running, you can access it at http://localhost:8080.
The project is structured in a standard way for a Spring Boot application, related classes are grouped into packages based on business logic. This approach is used to keep the codebase clean and easy to navigate.
The project uses the Google Java Style conventions. Follow them when writing code to keep the codebase consistent.
The project is deployed automatically on every push to the main
branch. To skip deployment, add [skip ci]
to the
commit message.
The project is built using the following technologies:
- Java 17
- Spring Boot as application framework
- Spring Data JPA for database access
- Spring Security with JWT for authentication
- PostgreSQL as database
- Gradle for build
- Docker for testing and local development
- Lombok for boilerplate code generation
- MapStruct for mapping between DTOs and DTOs
- Swagger for API documentation
- Flyway for database migrations
- Logback for logging
- Testcontainers for running services in Docker for testing and local development
- JUnit 5 for testing
- Mockito for mocking in tests
- Sentry for error and performance monitoring
- GitHub Actions for CI