Welcome to iplayed-backend – the backend component of our exciting developer group's projects!
Table of Contents
iplayed-backend is the backend module for our innovative developer group's projects. We focus on integrating gamification into engaging activity venues like escape rooms, axe throwing, and paintball, creating a blend of technology and entertainment.
Before you begin, ensure you have the following prerequisites:
- Node.js: Make sure you have Node.js installed. You can download it from here.
-
git clone https://github.com/iplayed/iplayed-backend.git -
Ask on Discord for the
.envfile credentials if necessary and add it to your local copy. -
Keep the
.env-templatefile and create a.envfile with the credentials. To use the key from the credentials file, useconst EXAMPLE_KEY = process.env.EXAMPLE_KEY; -
Navigate to the project directory:
cd iplayed-backend -
Install dependencies:
npm install
To run the development server, use the following command:
npm run dev
This will start the Express development server and allow you to preview your backend.
To run swagger docs, run the server and open:
http://localhost:3001/api-docs
Branch out by following the structure [ISSUE-ID]-[Similar ticket title] and submit your PR. For example: 9-Login_form
After completing your component and you are ready to commit do the following...
npm run lint and npm run test
- dev: Start the Express development server.
- dev:seed: Start the Express development server with seed data.
- build: Build the Express project.
- lint: Run TypeScript, Express linting, and auto-format with Prettier.
- test: Run Jest tests.
- prisma-update: Executes the changes required to make your database schema reflect the state of your Prisma schema
- prisma-generate: Generate Prisma Client
- @prisma/client: auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data.
- body-parser: Node.js body parsing middleware.
- dotenv: Zero-dependency module that loads environment variables from a .env file into process.env.
- express: Flexible Node.js web application framework
- mongoose: Node.js based Object Data Modeling (ODM) library.
- prisma: Node.js and TypeScript Object-Relational Mapping (ORM)
- swagger-ui-express: auto-generated swagger-ui generated API docs from express
- @types/dotenv: Types for DotNet.
- @types/express: Types for Express.
- @types/jest: TypeScript types for Jest.
- @types/node: Types for Node.js.
- @typescript-eslint/eslint-plugin: Load custim rules and rukes configurtion list from typescript-eslint.
- @typescript-eslint/parser: Parse to convert typescript to use ESLint.
- @types/supertest: Types for SuperTest
- @types/swagger-ui-express: Types for Swagger
- eslint: ESLint for code linting.
- eslint-config-prettier: ESLint config to disable ESLint formatting rules in favor of Prettier.
- jest: Testing framework.
- nodemon: Automatically restarting the node application when file changes
- prettier: Code formatter.
- superTest: create testing for e2e-integrations.
- yaml: converted YAML <=> JSON.
- ts-jest: Jest transformer to test projects written in TypeScript
- ts-node: TypeScript execution engine and REPL for Node.js
- typescript: TypeScript for static typing.
If you're interested in participating, sign up at the following URL:
This project is licensed under the MIT License.
Join us on this journey of innovation and growth!