Ride-my App is a carpooling application that provides drivers with the ability to create ride offers and passengers to join available ride offers.
Application Features
- Creating Rides
- Send request to join an existing ride
- Accept/ reject a ride request
As a passenger:
- Can view all ride offers
- Can create a ride offer
- Can view a specific ride offer
- Make a request to join a ride.
As a driver:
- Create a ride offer
- Can accept/reject ride request
Application demo
-
The documentation can be accessed at https://rideapi1.docs.apiary.io/#
- To interact with the documentation, https://private-amnesiac-b7e82-rideapi1.apiary-proxy.com/api/v2/rides/
-
To interact with the application via postman
then use the following endpoints to perform the specified tasks
EndPoint Functionality POST /auth/register Create a user account POST /auth/login Log in a user POST /users/rides/ Create a new ride GET /rides/ Retrieves all rides GET /users/rides/ Retrieves all rides that are created by the user POST /rides/< ride_id >/requests Send passenger's request to join a ride GET /users/rides/< ride_id >/requests Retrieve passengers who requested to join the ride PUT /users/rides/< ride_id >/requests/< r_id> Update a ride request
Getting started with the app
Technologies used to build the application
Create a new directory and initialize git in it. Clone this repository by running
$ git clone https://github.com/ruganda/Ride-api.gitCreate a virtual environment. For example, with virtualenv, create a virtual environment named venv using
$ virtualenv venvActivate the virtual environment
$ cd venv/scripts/activate.batInstall the dependencies in the requirements.txt file using pip
$ pip install -r requirements.txtStart the application by running
$ python run.pyTest your setup using a client app like postman
Running tests
- Install nosetests
- navigate to project root
- Use
nosetests tests/to run the tests - To run tests with coverage, use
nosetests --with-coverage --cover-package=app && coverage report