Skip to content

madz42/pbevents-back

Repository files navigation

Server template

This is a simple server template to for my students to start projects quickly.

Table of contents:

SETUP How to use this template

  1. Create a new project based on this template using the Use this template button

HOW_TO_USE

  1. Clone the app
git clone git@github.com:YOUR_GITHUB_NAME/YOUR_PROJECT_NAME.git
  1. cd into your project
cd YOUR_PROJECT_NAME
  1. install dependencies
npm install
  1. Configure your database in config/config.json

Default config is setup for usage with an ElephantSQL database instance, you need to provide the DB Url on the "url" key of the config.json file, key development.

// config/config.json
{
  "development": {
    "url": "YOUR_ELEPHANTSQL_URL_HERE",
    "dialect": "postgres"
  },
}
  1. Create database, run migrations & seed data

package.json contains a script for this

npm run initdev

Or run the commands seperately

npx sequelize-cli db:migrate
npx sequelize-cli db:seed:all
  1. start server with nodemon (recommended for development)
npm run dev
  1. or start normally
npm start

Endpoints

Method Path Purpose required parameters auth
POST '/signup' Create a new user and get a token email, name, password no
POST '/login' Get a token with email & password email, password no
GET '/me' Get information of this user none yes

Sample requests with httpie

To demo making request to this server, bash commands are included that make requests using httpie

Method Path Command
POST '/signup' http :4000/sign
POST '/login' http :4000/login
GET '/me' http :4000/me