Giter Site home page Giter Site logo

api-omni's Introduction

omni-api

Api for OMNI project

First setup project

Setup database

cd docker/db
docker build . -t omni-mssql
docker run -d -p 1433:1433 --name omni-database omni-mssql

Setup project

yarn
yarn run knex migrate:latest
yarn run db:runSeed
yarn watch

After run localhost:3000/cases browser should return {"data":{"type":"dip_form","attributes":{"cases":[]}}}.

Available commands

yarn start

Runs the app

yarn build

Runs app in development mode

yarn test

Launches the test runner

yarn watch

Run the app in the development mode

Docker app run

In order to run application in docker container run:

docker build -f docker/application/DockerFile -t omni-api .
docker run -d -p 7001:7001 --name omni-api-run omni-api

Database

Initial state

The database was exported from the Omni dev environment "as it was" and captured in 2 sql scripts:

  • database_schema/Dawn_Data.sql
  • database_schema/Dawn_v100.sql

The database was containerized in the docker and can be run locally with 3 commands:

  • cd docker/db
  • docker build . -t omni-mssql
  • docker run -d -p 1433:1433 --name omni-database omni-mssql

New tables

Diagrams of the database were created using online tool dbdiagram.

For each bounded context separate folder with tables was created in folder doc/db.

In each folder following files were added:

  • .png file with exported diagram from the tool
  • .sql file with exported from the tool SQL query which create all the necessary tables and relations
  • .dbdiagram file which contains source code used in the tool to build the diagram and link to the diagram hosted there at the top.

Documentation

We use apidoc for generating API documentation. To generate docs run npm run docs. Generated documentation files are served under /docs, e.g locally it's on http://localhost:3000/docs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.