Giter Site home page Giter Site logo

express-api-js-starter-kit's Introduction

EXPRESS REST API STARTER KIT

A Simple REST API app based on Express and PostgreSQL

Features

  • JWT Authentication
  • Structured Folder for better architecture
  • Using Objection.js

Installation

Clone it

Open your working folder and run command below on terminal

git clone https://github.com/kwaiks/express-api-js-starter-kit.git

Install Dependencies

Move to your cloned directory

cd express-api-js-starter-kit

Install packages using npm

npm install

or yarn

yarn install

Modify .env File

Edit .env.example file then rename it to .env Below are the configurations

NODE_ENV = development
PORT = 3000
DB_NAME = YOURDBNAME
DB_USER = YOURDBUSER
DB_PASS = YOURDBPASS

Start Application

Run it

npm run start

Miscellaneous

Working with example data

Create new Database named express

sudo -u postgres psql
postgres=# create database express;

Install Knex CLI

To be able using example data, install knex globally

npm install knex -g

Create new migration file

Run command

npm run migration MIGRATION_NAME

Then open newly created file on src/db/migrations

If you're done, you can run

npm run migrate:latest

Create new Seed file

Run command

npm run seed SEED_NAME

Then open newly created file on src/db/seeds

If you're done, you can run

npm run seed:run

Edit DB Configuration

You could modify DB Configuration that can be found in src/config/knexConfig.js

Below are the configurations

client: "pg",
    connection: {
        database: process.env.DB_NAME,
        user: process.env.DB_USER,
        password: process.env.DB_PASS
    },
    pool: {
        min: 2,
        max: 10
    },
    migrations: {
        directory: __dirname + "/db/migrations",
        tableName: "express_js_migrations"
    },
    seeds: {
        directory: __dirname + "/db/seeds"
    },
    ...knexSnakeCaseMappers()

Postman Collection

You could import postman.json for postman collection to test this app with example data

express-api-js-starter-kit's People

Contributors

kwaiks avatar

Watchers

James Cloos avatar  avatar

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.