Skip to content

Latest commit

 

History

History
168 lines (142 loc) · 4.97 KB

README.md

File metadata and controls

168 lines (142 loc) · 4.97 KB

badge badge badge badge badge badge badge badge badge

 

logo

Parkisi

The app to find parking easy

You can try it here

 


Table of Contents

About

This webapp allows private parking owners to offer their parking lots to other users, who can find, reserve and pay a parking slot all around the globe.

Register an user, insert a location, insert the date, find the parking that fits your needs best, reserve an slot, and pay for it.

Data Models

- userProfile
    auth0_id: string;
    nickname: string;
    name?: string;
    surname?: string;
    email: string;
    phone?: number;
    description?: string;
- vehicle
    type: 'car' | 'motorbike' | 'other';
    size: 1 | 2 | 3; //'small' | 'medium' | 'large';
    plate: string;
    model: string;
    owner: UserProfileDocument['_id'];
- parking
    street: string;
    streetNumber?: string;
    postalCode?: string;
    city: string;
    province?: string;
    location: { type: 'Point'; coordinates: [number, number] }; //GeoJSON
    description: string;
    image: string;
    owner: UserProfileDocument['_id'];
- slot
    identification: string;
    size: 1 | 2 | 3; //'small' | 'medium' | 'large';
    difficulty: 'easy' | 'medium' | 'hard';
    price: number;
    parking: ParkingDocument['_id'];
- reserve
    period: string[];
    slot: SlotDocument['_id'];
    owner: UserProfileDocument['_id'];
    vehicle: VehicleDocument['_id'];

API

API endpoints:

['GET', '/'],
['GET', '/userProfile/list'],
['GET', '/userProfile/:auth0Id'],
['GET', '/userProfile/detail/:userId'],
['POST', '/userProfile/detail/:userId'],
['GET', '/parking/list/:auth0Id'],
['GET', '/parking/address?lat&lng&limit&maxKm'],
['GET', '/parking/detail/:parkingId'],
['DELETE', '/parking/detail/:parkingId'],
['POST', '/parking'],
['GET', '/slot/detail/:slotId'],
['DELETE', '/slot/detail/:slotId'],
['GET', '/slot/list/:parkingId'],
['DELETE', '/slot/list/:parkingId'],
['POST', '/slot'],
['GET', '/vehicle/list/:auth0Id'],
['GET', '/vehicle/plate/:vehiclePlate'],
['GET', '/vehicle/detail/:vehicleId'],
['POST', '/vehicle/detail/:vehicleId'],
['DELETE', '/vehicle/detail/:vehicleId'],
['POST', '/vehicle'],
['GET', '/reserve/list/user/:auth0Id'],
['GET', '/reserve/detail/:reserveId'],
['GET', '/reserve/list/slot/:slotId'],
['DELETE', '/reserve/list/slot/:slotId'],
['GET', '/reserve/list/parking/:parkingId'],
['DELETE', '/reserve/list/parking/:parkingId'],
['DELETE', '/reserve/detail/:reserveId'],
['POST', '/reserve'],

Tools used

Future developments

Due to the short time available for the development some functionalities have been cut and postponed for future developments:

  • Filter for all list
  • Global map of parkings
  • Upload images for parking/user profile (Amazon S3)
  • User deletion
  • Design and art work

Acknowledgements

Thanks to the Core Code School Team for this amazing botcamp Status