8000 GitHub - alifelan/taxi-unico-web
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

alifelan/taxi-unico-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taxi-unico-web

DescripciĂłn

Backend web del proyecto semestral de la clase "Proyecto de desarrollo de aplicaciones mĂłviles"

Meaning of status: -CA: CANCELLED -PE: PENDING -AC: ACTIVE -PA: PAST

user works with POST and PUT,

POST:
    Receives a json with data to create a user.
    Param:
        name: User name
        email: User email
        password: User password
        card: Credit card
    Status:
        400: Missing data in json
        405: User exists, use PUT to update data
    Returns: User
        {
            name, email, rating, trips
        }

PUT:
    Updates user with data received in json
    Param:
        email: User email
        name (optional): New name
        password (optional): New password
    Status:
        400: Missing data in json
        404: User does not exist
    Returns: User
        {
            name, email, rating, trips
        }
Returns taxi trips of a user
Param:
    None
Status:
    404: User does not exist
    405: Wrong method
Returns: [TaxiTrip]
    {past_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], future_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], current_trip: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], cancelled_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }]}
Returns taxi trips of a taxi
Param:
    email: taxi email
Status:
    404: Taxi does not exist
    405: Wrong method
Returns: [TaxiTrip]
    {past_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], future_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], current_trip: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }], cancelled_trips: [{
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }]}
Creates a taxi trip with data received. It receives a number to identify
the trip, so it can know from where to where its going.
Param:
    Location:
        name: Name
        state: State
        city: City
        address: Address
        latitude: Latitude
        longitude: Longitude
    busTripId: Identifier of the bus trip
    trip: Number from 1 to 4, symbolizing if its a trip from origin to origin
        station with 1, a trip from destination station to destination with 2,
        from destination to destination station with 3 or from origin station
        to origin with 4.
    userEmail (optional): user email
    price: trip price
    duration:
        value: Value in seconds
        text: Value as string
    distance:
        value: Value in meters
        text: Value as string
Status:
    400: Missing data in json
    404: User or bus trip does not exist
    403: All taxis are busy
    405: Wrong method
    412: Trip is not between 1 and 4 or bus trip is not a round trip
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, departure_date, arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }
Works with POST and GET

POST:
Creates bus trip
Param:
    origin: Origin data
        name: Name
        state: State
        city: City
        address: Address
    destionation: Destination data
        name: Name
        state: State
        city: City
        address: Address
    date: Date and time of the trip, in format Month/Day/Year Hour:Minutes
    roundTrip (optional): True if its a round trip
Status:
    400: Missing data in json
    404: User or bus trip does not exist
    403: All taxis are busy
    405: Wrong method
Returns: BusTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip
    }
GET:
Gets bus trip
Param:
    id: Bus trip id
Status:
    400: Missing field
    404: Bus trip with id doesnt exist
Returns: BusTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip
    }
Returns random bus trip
Params:
    None
Status:
    404: There are no bus trips
    405: Wrong method
Returns: BusTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip
    }
Login checks email and password received
Param:
    email: User email
    password: User password
Status:
    400: Missing data in json
    404: User email does not exist
    200: Success
    403: Wrong password
    405: Wrong method
Returns:
    {status, message}
Login checks email and password received
Param:
    email: Taxi email
    password: Taxi password
Status:
    400: Missing data in json
    404: Taxi email does not exist
    200: Success
    403: Wrong password
    405: Wrong method
Returns:
    {status, message}
Returns details of a user
Param:
    email: user email
Status:
8000

    400: Missing data in json
    404: User does not exist
    405: Wrong method
Returns: User
    {
        name, email, rating, trips
    }
Returns details of a taxi
Param:
    email: taxi email
Status:
    400: Missing data in json
    404: Taxi does not exist
    405: Wrong method
Returns: Taxi
    {
        email, driver_name, plate, model, brand, taxi_number, city, rating, trips
    }
Adds rating to driver in taxi trip
Param:
    taxiTripId: Id of the taxi trip
    rating: Rating given to the driver in a scale of 1 to 5
Status:
    400: Missing data in json
    404: Taxi trip does not exist
    405: Wrong method
    412: Rating is not an integer between 1 and 5
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }
Adds rating to user in taxi trip and saves arrival date.
Param:
    taxiTripId: Id of the taxi trip
    rating: Rating given to the user in a scale of 1 to 5
Status:
    400: Missing data in json
    404: Taxi trip does not exist
    405: Wrong method
    412: Rating is not an integer between 1 and 5
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }
Returns current or next taxi trip
Param:
    email: user email
Status:
    404: User does not exist
    405: Wrong method
Returns: [TaxiTrip]
    {current, taxi_trip: {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }, rate: {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }
Returns current or next taxi trip
Param:
    email: taxi email
Status:
    404: Taxi does not exist
    405: Wrong method
Returns: [TaxiTrip]
    {current, taxi_trip: {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }}
Start taxi trip
Param:
    taxiTripId: Id of the taxi trip|
Status:
    400: Missing data in json
    404: Taxi trip does not exist
    405: Wrong method
    412: Rating is not an integer between 1 and 5
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }
Start taxi trip
Param:
    taxiTripId: Id of the taxi trip
Status:
    400: Missing data in json
    404: Taxi trip does not exist
    405: Wrong method
    412: Rating is not an integer between 1 and 5
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }

Returns user's trips on a bus trip Param: bus_trip_id: bus trip id email: user email Status: 404: User or bus trip does not exist 405: Wrong method Returns: [TaxiTrip] {trip1: [ id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, date, bus_trip: {id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, first_departure_date, first_arrival_date, second_departure_date, second_arrival_date, round_trip}, user: {name, email}, taxi: {driver_name, email, plate, model, brand, taxi_number}, price, taxi_rating, user_rating, status ], trip2: [ id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, date, bus_trip: {id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, first_departure_date, first_arrival_date, second_departure_date, second_arrival_date, round_trip}, user: {name, email}, taxi: {driver_name, email, plate, model, brand, taxi_number}, price, taxi_rating, user_rating, status ], trip3: [ id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, date, bus_trip: {id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, first_departure_date, first_arrival_date, second_departure_date, second_arrival_date, round_trip}, user: {name, email}, taxi: {driver_name, email, plate, model, brand, taxi_number}, price, taxi_rating, user_rating, status ], trip4: [ id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, date, bus_trip: {id, origin: {id, name, state, city, address, latitude, longitude}, destination: {id, name, state, city, address, latitude, longitude}, first_departure_date, first_arrival_date, second_departure_date, second_arrival_date, round_trip}, user: {name, email}, taxi: {driver_name, email, plate, model, brand, taxi_number}, price, taxi_rating, user_rating, status ]}

Updates location of taxi trip.
Param:
    taxiTripId: Taxi trip id
    location:
        name: Name
        state: State
        city: City
        address: Address
        latitude: Latitude
        longitude: Longitude
Status:
    400: Missing data in json
    404: Taxi trip does not exist
    405: Wrong method
Returns: TaxiTrip
    {
        id, origin: {id, name, state, city, address, latitude, longitude},
        destination: {id, name, state, city, address, latitude, longitude},
        date, bus_trip: {id, origin: {id, name, state, city, address,
        latitude, longitude}, destination: {id, name, state, city,
        address, latitude, longitude}, first_departure_date, first_arrival_date,
        second_departure_date, second_arrival_date, round_trip},
        user: {name, email}, taxi: {driver_name, email, plate, model, brand,
        taxi_number}, price, taxi_rating, user_rating, status
    }

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

0