A REST API for Workfloway App.
About | Technologies | Getting started | TODO | Contributing | License
This API provides everything needed to manage workflows, products, observations and every resource needed for Workfloway.
You can find the responsive web client here.
- HTTP: Express
- SQL DB: Postgres
- NoSQL DB: Mongo
- Domains: Observations, Selections, Subjects, Users, Workflows
- Auth: Bearer Token
- CI/CD: buddy.works
- Error monitoring: sentry.io
- ORM: TypeORM
- Injection: tsyringe
- Security: Cors, Helmet, Limit-rate
If you are using Insomnia, you can simply import insomnia.json
into it or click on Run in Insomnia
button at the top of this file.
$ git clone https://github.com/gabrieosl/workfloway-node.git && cd workfloway-node
# Install the dependencies
$ yarn
# Copy '.env.example' as '.env' and fill environment variables according to your settings
$ cp .env.example .env
# Create an instance of postgreSQL using docker
$ docker run --name workfloway-postgres -e POSTGRES_USER=docker -e POSTGRES_DB=workfloway -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
# Create an instance of mongoDB using docker
$ docker run --name workfloway-mongodb -p 27017:27017 -d -t mongo
# Create an instance of redis using docker
$ docker run --name workfloway-redis -p 6379:6379 -d -t redis:alpine
# Copy 'ormconfig.example.json' as 'ormconfig.json' and fill the database info.
$ cp ormconfig.example.json ormconfig.json
# Run migrations
$ yarn typeorm migration:run
# Run th server
$ yarn dev:server
- Implement the possibility to specify a list of
subjectId
as a param to retrieve their data.
New features can always be added to this repository. If you want to contribute just fork, add or change want you want and submit a Pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by Gabriel Lima βπ»Check my website gabrieosl.me