The Order Management API is an application that provides an implementation of a back-end API for the order management.
- Npm / Yarn
- Node.JS
- Express.JS
- PostgreSQL
- Redis
- Install
npm install yarn
- Install all necessary npm packages
yarn
- Create a database
createdb oma
- Create a database for testing
createdb oma_test
(Optional) - Create a database for development
createdb oma_development
(Optional) - Setup config file
cp ./config/env.json.sample ./config/env.json && vim ./config/env.json
- Setup and seed database tables
yarn run seed
yarn run dev
yarn run test
- Node.JS - Node.js JavaScript runtime
- Express.JS - Fast, unopinionated, minimalist web framework
- Express.JS JWT - JWT authentication middleware
- PostgreSQL - Often simply Postgres, is an object-relational database management system
- Sequelize - Promise-based Node.js ORM for Postgres, MySQL, SQLite and Microsoft SQL Server
- Passport - Simple, unobtrusive authentication for Node.js
- Redis - Redis is in-memory data structure store
- BabelJS - The compiler for writing next generation JavaScript
- Multer - Middleware for handling multipart/form-data, which is primarily used for uploading files.
- Swagger - Tools for designing and building Swagger-compliant APIs entirely in Node.js
- Swagger UI - Middleware for your express app to serve the Swagger UI bound to your Swagger document
- Chai - Chai is a BDD / TDD assertion library for node
- Mocha - Simple, flexible, fun test framework
# (C) Copyright 2017 by Marek Hakala <hakala.marek@gmail.com>
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.