Skip to content

Ride sharing service web application API made with Python Flask and Mongodb

Notifications You must be signed in to change notification settings

aleksifuna/PoolPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

POOLPAL

PoolPal Web Application API

Overview

This project is a carpooling web application API that enables users to share rides, find available rides, and manage bookings. The application is built with a Python Flask using MongoPy for database interactions and JWT for authentication

Features

  • User registration and authentication
  • User profile management
  • Create, search, and manage rides
  • Book and cancel ride bookings
  • Notifications system
  • Rating and feedback for rides

Tech Stack

PoolPal

Backend

  • Python Flask
  • MongoPy/ MongoEngine
  • JWT for authentication - flask

Third party services

  • Google distance matrix api
  • Mailjar API

DevOps

  • AWS EC2 - linux server
  • Gunicorn
  • Nginx

Installation

  1. Clone the repository:
git clone https://github.com/aleksifuna/PoolPal.git
cd PoolPal
  1. Create and activate a virtual Environment:
python3 -m venv venv
source venv/bin/activate
  1. Install the required packages:
pip install -r requirements.txt
  1. Install and configure MongoDB
sudo service mongod start
  • (Optional) Use mongo shell or a GUI like MongoDB Compass to create a database for the application.
  1. Set up environment variables for Flask and database configutation in a .env file
  2. Run the application:
python -m api.v1.app

API Endpoints

Here are some key endpoints of the PoolPal API:

  • User Registration: POST /api/register
  • User Login: POST /api/login
  • Create a Ride: POST /api/rides
  • Search Rides: GET /api/rides
  • Book a Ride: POST /api/rides/{ride_id}/book
  • Cancel Booking: DELETE /api/rides/{ride_id}/book
  • Get Notifications: GET /api/notifications
  • Leave Feedback: POST /api/rides/{ride_id}/feedback
  • For a complete list of endpoints and to test them, please visit our Swagger API Documentation

Contributing

If you would like to contribute to this project, please fork the repository and submit a pull request. We welcome all contributions.

About

Ride sharing service web application API made with Python Flask and Mongodb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages