Notator is a post-it note application with secure signup/login and the ability to organize the notes under different topics.
Note: The app is still in development and therefore this setup guide relates only to setting up a development environment.
The app uses SSL encryption to communicate between front, back and database. To enable it in a development environment the following certificates must be added to the project folders:
// in ./back/
myCA.crt // Root certificate
localhost.crt // Certificate
localhost.key // Private key
// in ./front/
localhost.crt // Certificate
localhost.key // Private key
// Same key and certificate can be used for both front and back
// but the files must be present in both foldersSSL must also be enabled separately for the database (more on this below).
All front end setup is done inside the ./front/ folder.
- Run
npm install - Create a
.envfile with the following information:// in ./front/.env HTTPS=true SSL_CRT_FILE=localhost.crt SSL_KEY_FILE=localhost.key
- To run the front end use
npm start
All back end setup is done inside the ./back/ folder.
- Run
npm install - Creata a
.envfile with the following information:// in ./back/.env PGHOST= // Postgres server URL PGPORT= // Postgres port PGUSER= // Postgres username PGPASSWORD= // Postgres password PGDATABASE= // Postgres database name SESSION_SECRET= // Random string used for signing sessions
- To run the back end use
npm startor runserver.tswith nodemon or equivalent
This app uses Postgres as its database. To set it up follow the guidance offered on the official Postgres site.
Running the back end server and successfully connecting it to the database will automatically generate all the necessary tables and relations. This may destroy some or all existing data, so using an otherwise empty database is recommended.
To enable SSL on a Postgres server you need to:
- Change
SSLtooninpostgresql.conffound inside your db data folder - Add following certificate files to your database data folder:
// In Postgres database data folder server.key // Private key server.crt // Certificate // Same key and certificate can be used here also // but the files must be named as shown above
- Restart the databse server
- Typescript
- Node
- React
- TailwindCSS
- Express
- Typeorm
- Postgres