Welcome to the Playboxd backend documentation. This document provides an overview of the API endpoints, authentication mechanisms, environment variables, and instructions on how to set up and run the project.
- Introduction
- Getting Started
- Environment Variables
- API Documentation
- Running Tests
- Deployment
- Contact
This is a portfolio project to showcase what I learned as a fullstack developer, is part of a larger application that includes a frontend built with Next.js. Inspired by letterboxd
- Node.js (version 18.0 or later)
- MongoDB Community version (version 7.0 or later)
- Yarn or npm
-
Fork the repo
-
Install dependencies:
yarn install or npm install
-
Create a
.env
file in the root directory and configure your environment variables as described in the Environment Variables section. -
Start the development server:
yarn start or npm run start
-
Open your browser and navigate to
http://localhost:3000/api
to access the Swagger API documentation.
The following environment variables need to be configured in your .env
file:
NODE_ENV=development
DATABASE_URI=mongodb://localhost:27017/Games
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=google-client-secret
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callback
JWT_SECRET=any encryption
RAWG_API_KEY= can be obtained at https://rawg.io/apidocs
AWS_ACCESS_KEY_ID=aws-access-key
AWS_SECRET_ACCESS_KEY=aws-secret
AWS_REGION=us-east-2
S3_BUCKET_NAME=your bucket
FRONTEND=http://localhost:3001
NestJS with Swagger makes it easy to document your API. Swagger can be accessed at http://localhost:3000/api
.
Currently there only user auth and game interactions modules are properly documented
The project includes at the moment only unit tests.
To run the unit tests: yarn test or npm run test
This project was deployed at aws ec2, there are a couple of secrets that you will need for more information go to appleboy-ssh
- Appleboy SSH Action: appleboy/ssh-action
Hit me at:
- Email: paroniyan@gmail.com
- GitHub Repository: Playboxd Front
- LinkedIn: Yan