- Node: v16
- Yarn: v1.22
- API framework: Expressjs
- Views: EJS
- Unit test: Mocha, Chai, Sinon
- Language: Typescript
- Cache: Node Cache
- Database: Airtable
- Logger: Winston
|-- env |-- index.ts: load env config |-- src |-- airtable: airtable instance to call to airtable |-- common: common constant, interface, enum, logger use in project |-- controller: define routes in project |-- model: modeling model use in project |-- repository: define repository to get data from airtable |-- service: implement the main logic |-- validator: validator query of request |-- view: define all views in project |-- .env.dev: the env file, use dotenv library to read |-- .gitignore |-- mocha-setup.ts |-- package.json |-- README.md |-- tsconfig.json |-- yarn.lock
- Run
yarn
to install all packages - Run
yarn run start:dev
to run code - Run
yarn run test:dev
to run unit test
- To get hierarchy: http://localhost:3000/hierarchies
- To get drawings: http://localhost:3000/drawings
- To get service planner: http://localhost:3000/service-planners (Query: ?startDate=yyyy-MM-DDTHH:mm:ss.SSSZ)