dviramontes / simple-message-api

simple-message-api project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

simple-message-api

simple message API project

Project Layout

{root}
src
├── controllers            # defines methods for interacting with our database
├── db.ts                  # database connection handler
├── handlers.ts            # normalize API request && responses
├── routes.ts              # defines the routes of our API service
├── server.ts              # main entrypoint for our API server, sets up Express.js server + middleware
...

Requirements

Setup

  • nvm use
  • npm i
  • make migrate

Development

  • make dcu
  • make dev

Other dev tasks

Testing

E2E API test setup

  • make test-dcu # spins up docker-compose test database
  • make test-migrate # run database migrations
  • make test # run tests, make sure server is not also running
  • make test-dcd # spin down docker-compose test database

Formatting

  • make format uses prettier

Linting

  • make lint uses eslint

Database Change Management

Create new migration

  • npx knex migrate:make <migration_name> -x ts

Running migrations

  • npx knex migrate:latest --env <env> where env can be development, staging or production
  • npx knex migrate:rollback rollback latest
  • npx knex migrate:list list pending migrations
  • For a list of all commands available from knex checkout this doc

Data Model

data model for simple message api project

About

simple-message-api project


Languages

Language:TypeScript 95.7%Language:Makefile 2.3%Language:JavaScript 1.9%Language:Shell 0.1%