Skip to content

shroom-r/comem-travel-log-api

 
 

Repository files navigation

COMEM+ Travel Log API

A sample API to develop a mobile application.

License

Usage

Requirements

First-time setup

Clone this repository:

git clone [email protected]:sysin/comem-travel-log-api.git

Install dependencies:

cd comem-travel-log-api
npm ci

Run the server in development mode with live reload

npm run dev

Run the server in production mode

NODE_ENV=production npm start

Deploy on Render

Fork the project

Start by forking this repository. This will create a copy of the project on which you will have complete admin privileges.

You can fork by pressing the "fork" button at the top left of this page, or by clicking this link.

Create a Render Web Service

Follow the instructions in the Deploy the application to Render guide.

Configuration

The following environment variables can be used to customize the server:

Environment Variable Default Value Description
BASE_URL http://localhost:<PORT> The base URL at which the API is deployed.
BCRYPT_COST 10 bcrypt cost factor.
DATABASE_NAME The name of the database
DATABASE_URI, DATABASE_URL, MONGODB_URI, MONGODB_URL mongodb://localhost/comem-travel-log-api The URL used to connect to the database. The 4 variables are listed from highest to lowest precedence.
DOCS_BROWSER Development option: which browser application to open the API documentation in.
DOCS_OPEN true Development option: whether to open the API documentation in the browser automatically when running npm run dev or npm run docs:serve.
DOCS_PORT Random port Development option: port on which to serve the API documentation when running npm run dev or npm run docs:serve.
LOG_LEVEL info Log verbosity. Available levels are: trace, debug, info, warn, error, fatal.
PORT 3000 Port (or pipe) to bind the server to.
SECRET Secret used to sign JWT tokens.

Since dotenv is used, you can also set these variables using a .env file:

PORT=4000
SECRET=changeme

Scripts

The following scripts can be used to perform useful tasks:

Script Description
npm run dev Build the API documentation, start the server in development mode with live reload and watch the documentation for changes.
npm run docs:build Build the API documentation. (Run by npm run dev and after npm install.)
npm run docs:clean Erase the API documentation. (Run by npm run dev.)
npm run docs:serve Serve the API documentation on a local port with live reload, optionally open a browser. (Run by npm run dev.)
npm run docs:watch Watch the source code for changes to automatically rebuild the API documentation. (Run by npm run dev.)
npm run doctoc Regenerate this README's table of contents.
npm start Start the server without live reload.
npm run start:dev Start the server with live reload.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.8%
  • Shell 3.2%