GithubHelp home page GithubHelp logo

vivacode / guidr-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guidr-app-lion-team/guidr-server

0.0 1.0 0.0 759 KB

Back End for Guidr App (Asa Shalom - Lead Back End Developer)

JavaScript 100.00%

guidr-server's Introduction

Guidr App

By The Guidr Team

  • UI team: Steven Jefferson, James Goodnight, Itel Domingo
  • Lead Frontend Developer: Matt Basile
  • Lead Backend Developer: Asa Shalom
  • Scrum Master: Timothy Hoang

To utilize this app

About

  • Guidr is an app that helps backcountry guides of all types log their private/professional trips.
  • Sign up for an account, add adventures, see different profile
  • Currently: Stable Version v1.0 -- updates are possible, not currently planned (as of 2/8/2019)

Features

  • A powerful back-end platform built with Node, Express, SQLite3, Knex, Axios, JSON Web Tokens, and Bcryptjs
  • Ability to hit target endpoints to get specific data from MySQL server with adventures and user tables

Technologies for this project

API Endpoints

  • Admin Routes

  • POST https://guidr2.herokuapp.com/register = Registers a user

  • POST https://guidr2.herokuapp.com/login = Logs in a user

  • requires user object with

`username` (string),
`password` (string),
  • GET https://guidr2.herokuapp.com/adventures = Authenticates a user

  • not in use

  • Adventure Routes

  • POST https://guidr2.herokuapp.com/adventures = Adds a new adventure

  • submit an object with the shape of:

`id` (number),
`user_id` (number),
`adventure_type` (string),
`title` (string),
`location` (string),
`duration` (string),
`description` (string),
`professional` (boolean),
`date` (string),
  • GET https://guidr2.herokuapp.com/adventures = Gets all the adventures
  • returns an ARRAY of objects with shape of:
`id` (number),
`user_id` (number),
`adventure_type` (string),
`title` (string),
`location` (string),
`duration` (string),
`description` (string),
`professional` (boolean),
`date` (string),
  • GET https://guidr2.herokuapp.com/adventures/:id = Gets specific adventure by ID
  • returns an object with shape of:
`id` (number),
`user_id` (number),
`adventure_type` (string),
`title` (string),
`location` (string),
`duration` (string),
`description` (string),
`professional` (boolean),
`date` (string),
  • PUT https://guidr2.herokuapp.com/adventures/:id = Updates a specific adventure by ID

  • DELETE https://guidr2.herokuapp.com/adventures/:id = Deletes specific adventure by ID

  • User Routes

  • POST https://guidr2.herokuapp.com/user = Adds a new user

  • GET https://guidr2.herokuapp.com/user = Gets all the users

  • returns an ARRAY of objects with shape of:

`id` (string),
`username` (string),
`name` (string),
`email` (string),
`location` (string),
`bio` (string),
`professional` (boolean)
  • GET https://guidr2.herokuapp.com/user/:id = Gets specific user by ID
  • returns specific user object with shape of:
`id` (string),
`username` (string),
`name` (string),
`email` (string),
`location` (string),
`bio` (string),
`professional` (boolean)
  • GET https://guidr2.herokuapp.com/user/:id/adventures = Gets all adventures from specific user by ID
  • returns an ARRAY of objects with shape of:
`id` (number),
`user_id` (number),
`adventure_type` (string),
`title` (string),
`location` (string),
`duration` (string),
`description` (string),
`professional` (boolean),
`date` (string),
  • PUT https://guidr2.herokuapp.com/user/:id = Updates a specific user by ID

  • DELETE https://guidr2.herokuapp.com/user/:id = Deletes specific user by ID

To edit the source code

  1. Have stable NPM and NodeJS versions installed on your computer
  2. Navigate to the directory of choice and type git clone https://github.com/guidr-app-lion-team/guidr-server.git
  3. Install necessary packages either with npm install or yarn
  4. Run the client with npm start or yarn start, then navigate to http://localhost:5000/ to see the client
  5. Open up the codebase with your favorite editor and hack away!

More pictures

Database Structure

Adventures Data

Adventure Object

Users Data

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.