Skip to content

Technical Specs

Song Zheng edited this page Mar 25, 2020 · 14 revisions

Intro

This page shows the technology stack that our app uses

  • Passport - Used for handling user #, login, and user sessions.
    • We picked this because in the future we may want to support other providers like Github, Google, etc.
  • Validator.js - Used for validating user inputs like email, username, etc.
  • expressJS - Used to power our backend http server.
  • becrypt - Encrypting and salting user provided credentials
  • Sequelize - For managing our database model
  • node-postres - We need this to create users in the PostGres service. Sequelize seems to help us maintain our application database, does not seem help us create new databases and allocate new users within PostGres.
  • Bootstrap - Opensource UI framework. Our alternative was Tailwind UI but we don't want our users to clone our repo and can't run the app because they don't have Tailwind UI licenses.
  • TODO - Find MailGun's npm module for sending email
  • TODO - Find MongoDB's npm module for creating new database and user accounts
  • TODO - Find Neo4J's npm module for creating new database and user accounts

Under the hood

  • Postgres - Our main database.
    • Used under the hood by either pg or sequelize npm modules.
  • NodeJS - To power our application
  • mongoDB - Our example NOSQL database
  • Neo4J - Our example graph database
  • MailGun - For sending emails

Testing

  • Jest - Unit & Integration Testing
  • cypress - Functional test
Clone this wiki locally