This project is built with:
- Scala: Modern language both functional and OOP, best of the two world !
- Play: A minimalistic back-end framework for the jvm languages, easy to test
- MongoDB: A noSQL database to store beats and groovy rhythms :)
Misc. references used in this project
- Back-end hosting : https://render.com/
- Database hosting : https://www.mongodb.com/products/platform/cloud
- https://www.docker.com/
- Database client : https://www.mongodb.com/docs/mongodb-shell/install/
- REST API client : https://github.com/usebruno/bruno
copy the .env.sample file in the current folder, and rename the copy in .env
Go to the backend folder
cd ./backend/
Build app image
docker build -t drum-beat-repo-app-image .
Run mongo db and the previous image
docker-compose up -d
sbt run
sbt test
Use the connection string mongodb://admin:[email protected]:27017/admin
mongosh --username admin --password pass
- Drum Beat Database in express : http://localhost:8081/db/drum-beat-database/
- Get genres api : http://localhost:9000/genres/
- Run coverage
sbt coverage test
- Generate report
sbt coverageReport
Build image
docker build -t drum-beat-repo-app-image .
docker build --build-arg API_KEY='<YOURAPIKEY>' -t drum-beat-repo-app-image .
Run a container with this image
docker run -p 9000:9000 -it drum-beat-repo-app-image