About • Run Locally • Tech Stack • Learnings • Feedbacks
Explore exclusive trailers, create personalized lists, and more with Marshmallow Watch. Transform your entertainment discovery experience today! RESTful API built with SOLID, Clean Architecture, and DDD basic concepts to manage your watched movies and shows.
Clone the project
git clone https://github.com/raiane-oliveira/marshmallow-watch-APIGo to the project directory and install the dependencies
pnpm iCreate the .env file and add it these variables:
PORT=3333
# Database
DATABASE_URL=""
# JWT Authentication
JWT_SECRET="marshmallow-watch"
# Cloudflare
CLOUDFLARE_ACCOUNT_ID=""
AWS_BUCKET_NAME=""
AWS_ACCESS_KEY_ID=""
AWS_SECRET_ACCESS_KEY=""
AWS_ENDPOINT_API_URL=""
# Mailer
MAILER_PORT="587"
MAILER_HOST="smtp.ethereal.email"
MAILER_SENDER_EMAIL=""
MAILER_SENDER_PASS=""
# Client
WEBSITE_URL="http://localhost:3000"
# TMDB API
TMDB_BASE_API_URL="https://api.themoviedb.org"
TMDB_API_KEY=""Create the database server on Docker container
docker compose upThat command it will already start the container. If not, run this command:
docker compose startFinally, start the server
pnpm dev- Postgres
JSON_AGGandJSON_BUILD_OBJECTfunctions - Internationalization in the Backend
- Sending e-mails with
nodemailer - Set private routes by default with
fastify - BiomeJS
- TypeScript
- DrizzleORM
- Fastify
- Docker
- Docker compose
- Vitest
- BiomeJS (alternative to Eslint)
If you have opinions on how I can improve this application, please send me a message on Linkedin or an email. I will be happy to answer and learn more from you! ;)
