This project is a backend server for my personal CRM.
Refer to my post for a more general overview about this project + the whole system.
- I want to potentially write a detailed overview of the whole system in a blog post (but that's for another day). NOTE: This is still a work-in-progress. Hopefully there will come a point where it's developed enough where I don't have to be actively building/tinkering with it.
There are multiple ways to deploy. A few of them are
npm run start
A Few Considerations
npm run start
uses a .env
file. If you have another way of loading env variables, use npm run start-no-env
CRM_FILE_PATH= File path to the CRM directory
DAILY_NOTE_PATH= File path to the daily notes directory
NOCO_API= Noco API key docs about API tokens in NocoDB.
NOCO_URL= Noco URL to your self hosted or cloud run instance
NOCO_URL_API = Noco URL to the API
/api/v2/tables
NOCO_TABLE_ID= The table to interact with (the CRM database)
/
/idu0h0s0919h
(I chose random characters)NOCO_VIEW_ID= A specific view to interact with
/
TODOIST_API= Todoist API Key docs about API tokens in Todoist.
TODOIST_PROJECT_ID= The Todoist project to put all of the created tasks in
TODOIST_URL=This is the base URL for Todoist API
https://api.todoist.com/rest/v2
DROPBOX_APP_KEY ((Not Needed)) To produce DROPBOX_REFRESH_TOKEN
DROPBOX_APP_SECRET ((Not Needed)) To produce DROPBOX_REFRESH_TOKEN
DROPBOX_REFRESH_TOKEN
GCP_PROJECT_ID= For GCP Logging
GCP_LOG_NAME= Log Name for GCP Logging
Considerations
main
-> build new Docker ContainerFUTURE: Want a better way to handle secrets + continuous deployment
There is a directory called /tests
that contain all the tests for the code.
To run the tests, run npm run test
which launches the jest testing suite.