This is a small Java 11 Spring-Boot and Angular based project that fetch posts from this URL, stores them in a MongoDB instance, and serves the first 50 of them (in ascending order based on their title) in a Material table.
This project was developed following TDD (see git log
) and
the Clean Code and
Clean Architecture
guidelines from Robert C. Martin.
- Java 11+
- Maven 3.6+
- Docker
- docker-compose
Simplest install method for Java and Maven in UNIX environments is via SDKMAN
For local frontend development :
In the root directory of this project, simply run :
mvn clean install
This will compile, run tests, package and build frontend and backend docker images (this may take a few minutes, especially for frontend on first build)
Once the project is built, run :
docker-compose -f docker-compose.yml -f mongodb.yml up
Wait a few seconds for the components (mongo, backend and fronted) to start. When Posts sync job done.
is shown
is the logs, you can open your browser at http://localhost:8000
Start a local instance with :
docker-compose -f mongodb.yml up
For backend development, run this command from the root directory :
mvn clean spring-boot:run
For frontend development, cd
to frontend
, then run :
yarn start
Then open your browser at http://localhost:4200