https://github.com/make-school-labs/trip-planner
Starter project for trip planner Flask app
https://github.com/make-school-labs/trip-planner
flask flask-restful mongodb python
Last synced: 8 months ago
JSON representation
Starter project for trip planner Flask app
- Host: GitHub
- URL: https://github.com/make-school-labs/trip-planner
- Owner: Make-School-Labs
- Created: 2017-10-04T20:40:51.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-04T20:53:50.000Z (almost 9 years ago)
- Last Synced: 2025-04-08T01:51:14.227Z (about 1 year ago)
- Topics: flask, flask-restful, mongodb, python
- Language: Python
- Size: 2.93 KB
- Stars: 1
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Project - Travel App API Project Spec
## Overview
We will be building a trip planning app that stores a list of trips for a user.
The goal of this project is for you to practice everything you have learnt about building an API.
Users can create a trip, add waypoints to a trip (a list of stops a user will take in a trip) and mark a trip as completed.
### The API
Your API should contain/use:
1. a non-relational database to store all our trips.(mongodb)
2. a trips resource - you should be able to create, list, show, update and destroy trips.
3. completed trips are marked as completed.
4. unit tests for all routes.
## Client
When you are done with the Flask API, write an iOS client to connect and display the list of trips.
Authenticate the user, display trips and a detail of the trip with waypoints and completed status of each trip.
### Routes and Actions
Create unit tests for and then implement the following new resources and routes:
### ***Users***
| Action | HTTP Verb | Path | Effect |
|---------|-----------|------------------|----------------------------------|
| create | POST | /user | Creates a new user |
| index | | | |
| show | GET | /user | Shows a specific user |
| update | PUT/PATCH | /user | Updates/replaces a specific user |
| destroy | DELETE | /user | Deletes a specific user |
### ***Trips***
| Action | HTTP Verb | Path | Effect |
|--------- |----------- |------------------ |---------------------------------- |
| create | POST | /trips | Creates a new trip |
| index | GET | /trips | Shows/lists all trips |
| show | GET | /trips/ | Shows a specific trip |
| update | PUT/PATCH | /trips/ | Updates/replaces a specific trip |
| destroy | DELETE | /trips/ | Deletes a specific trip |
## Project Milestones
Backend:
- [x] User - Create/Update a user - post request
- [x] User - Get a user with a get request
- [x] Trips - Create a trip
- [x] Trips - Update a trip with completed status
- [x] Trips - Add waypoints to a trip (a list of named stops in a trip)
- [x] User - Sign up a user, hash the password
- [x] User - Sign in a user, check password with hash in database
iOS Client:
- [x] Authenticates user with HTTP Basic Auth
- [x] Display list of trips, trip waypoints and completed status of each trip