Client: React, TailwindCSS, NextJS
Server: Node, Express, NestJS
Database: MongoDB
Authentication: Firebase
- Node.js:
v20.9.0
- npm:
10.5.2
- NestJS:
10.2.0
- NextJS:
v14.2.13
- MongoDB:
7.0.6
npm i -g @nestjs/cli
Create and Setup a new firebase project
Need to generate a new private key and create a private_key.json
file with all the information from Project settings
under the tab Service Accounts
.env.template
file includes PORT
which defaults to 8090 if not entered. MONGO_URL
and MONGO_DB_NAME
which will default to a database named research that is run on docker. If the mongo db is not running through the docker container provided please change the url. The user should also head over Calendaric to create a new account and copy the api key given to CALENDARIFIC_API_KEY
. For the first admin account to be created the field ADMIN_EMAIL
is also neccessary. After you are done with the file rename it to .env
next.config.mjs.template
file includes a env
section that needs to be edited with the credentials from Project settings
under the tab General
(In the Firebase configuration). After you are done with the file rename it to next.config.mjs
To run the project with docker-compose. Please make sure you have filled all the environment variables
docker-compose up -d
To install the dependecies
npm install
To build the project
npm run build
To start the project
npm run start:prod
To install the dependecies
npm install
To build the project
npm run build
To start the project
npm run start -- -p PORT_NUMBER
To install the dependecies
npm install
To build the project
npm run build
To start the project
npm run pm2
To install the dependecies
npm install
To build the project
npm run build
To start the project
npm run pm2 -- -p PORT_NUMBER
This project is licensed under the MIT License - see the LICENSE.md file for details.
The MIT License is a permissive open-source license that allows for for-profit and non-profit use, redistribution, modification, and commercial distribution of the licensed software and its derivatives. By contributing to this project, you agree to the terms of the MIT License.