license-server/README.md

66 lines
2.1 KiB
Markdown

# ![RealWorld Example App](logo.png)
> ### Example Node.Js (Koa.js + Knex) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld-example-apps) spec and API.
This repo is functionality complete — PRs and issues welcome!
This codebase was created to demonstrate a fully fledged fullstack application built with **Koa.js + Knex** including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the **Koa.js + Knex** community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.
# Getting started
## Installation
1. Instal [Node.JS](https://nodejs.org/en/download/package-manager/) latest version
2. Clone this repo
3. Install dependencies, just run in project folder: `npm i` or `yarn`
## Usage
1. run `npm start` to start server
## Testing
1. run `npm test` for tests
## Server Configuration (optional)
You can use `.env` file, to configure project like this:
```
NODE_ENV = development
PORT = 3000
SECRET = secret
JWT_SECRET = secret
DB_CLIENT = sqlite3
#DB_CONNECTION = postgres://user:password@localhost:5432/db_name
```
you can just copy `.example-env`
## Variables description
`NODE_ENV` - specify env: development/production/test. `development` by default
`NODE_PORT` - specify port: `3000` by default
`NODE_SECRET` - custom secret for generating passwords. `secret` by default
`JWT_SECRET` - custom secret for generating jwt tokens. `secret` secret by default
`DB_CLIENT` - database to use. `pg` - postgress or `sqlite3`. `sqlite3` by default
`DB_CONNECTION` - db connection string for `postgress` database.
## Fixtures (optional)
1. load fixtures: `npm run db:load` (it uses settings from `.env`). Don't forget to set `NODE_ENV`.
## Styleguide
[![Standard - JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
# How it works
> Describe the general architecture of your app here