Whole stack in TypeScript.
This project uses the MEAN stack:
- Mongoose.js (MongoDB): database
- Express.js: backend framework
- Node.js: runtime environment
Other tools and technologies used:
- JSON Web Token: user authentication
- Bcrypt.js: password encryption
- Install Node.js and MongoDB
- From project root folder install all the dependencies:
npm i - create
.envfile with theses vars
MONGODB_URI=mongodb://URLOFYOURMONGO
MAX_WORKER=1
FRONT_URI=https://bob.dev.cashstory.com
FTP_URI=https://ftp.cashstory.com
FTP_AUTH_TOKEN=APIKEY
BACK_URI=https://darkknight.dev.cashstory.com
SECRET_TOKEN=RANDOMTOKEN
ENCRYPT_KEY= Result of => openssl rand -base64 32;
SIGN_KEY= Result of => openssl rand -base64 64;
TWILIO_NUMBER=TWIOLIOMOBILE
TWILIO_SID=TWIOLIOSID
TWILIO_TOKEN=TWIOLIOTOKEN
EMAIL_HOST=SMTPSERVER
EMAIL_PORT=465
EMAIL_SECURE=true
EMAIL_USER=EMAIL
EMAIL_PASSWORD=PASS
EMAIL_FROM=EMAIL
EMAIL_ADMIN=EMAIL1, EMAIL2
SLACK_WEBHOOK=WEBHOOKURL
SLACK_NAME=NAME
SLACK_CHANNEL=#CHANNEL
API_KEY_CLOCKIFY=APIKEY
API_KEY_WAKATIME=APIKEY
TZ=Europe/Paris
DK_ENV=dev
WORKSPACEDEFAULT=5eaa9b7c87e99ef2430a270a
DEBUG=true
NODE_ENV=production
npm start: execute TypeScript compiler and Express server.
Files are being watched. Any change automatically creates a new bundle, restart Express server.
npm start serve.prod: run the project with a production bundle at localhost:3000
Run yarn start lint to execute all lint