hookercookerman / workfloway-node

πŸ”„ REST API for Workfloway App. Written in Typescript using DDD pattern.

Home Page:https://api.workfloway.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Workfloway - Backend

A REST API for Workfloway App.

About  |   Technologies  |   Getting started  |   TODO  |   Contributing  |   License

Run in Insomnia

πŸ‘¨πŸ»β€πŸ’» About

This API provides everything needed to manage workflows, products, observations and every resource needed for Workfloway.

You can find the responsive web client here.

πŸš€ Technologies

Infra

  • HTTP: Express
  • SQL DB: Postgres
  • NoSQL DB: Mongo

Architecture

  • Domains: Observations, Selections, Subjects, Users, Workflows
  • Auth: Bearer Token

Services

Dependencies

  • ORM: TypeORM
  • Injection: tsyringe
  • Security: Cors, Helmet, Limit-rate

βš™οΈ Run it yourself

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.

Requirements

Clone the project and access the folder

$ git clone https://github.com/gabrieosl/workfloway-node.git && cd workfloway-node

Follow these steps

# 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

βœ”οΈ Reste Γ  faire (TODO)

  • Implement the possibility to specify a list of subjectId as a param to retrieve their data.

πŸ’» Contributing

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.

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ by Gabriel Lima ✌🏻Check my website gabrieosl.me

About

πŸ”„ REST API for Workfloway App. Written in Typescript using DDD pattern.

https://api.workfloway.com

License:MIT License


Languages

Language:TypeScript 95.0%Language:JavaScript 5.0%