Skip to content

🚴 This is a bike sharing management system. The project allows user registration and authentication, management of bicycles and docking stations, operation monitoring, and smart card handling.

License

Notifications You must be signed in to change notification settings

andredisa/BikeSharing_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚲 Bike Sharing Management System

Made With PHP PostgreSQL Python

This is a bike sharing management system. The project allows user registration and authentication, management of bicycles and docking stations, operation monitoring, and smart card handling. It includes a user interface for guests, clients, and administrators, as well as an admin panel for system maintenance and control.


πŸ› οΈ Setup & Configuration

βš™οΈ Requirements

  • PHP >= 8.0
  • Python >= 3.9
  • PostgreSQL (for the database)
  • Local web server (e.g., Apache or Nginx)
  • Composer (optional, for managing PHP dependencies)
  • Virtualenv (optional, for managing Python environments)

πŸ“¦ Installation

  1. Clone this repository:

    git clone https://github.com/andredisa/BikeSharing_Project.git
    cd Bike_Sharing
  2. (Optional) Create a virtual environment for Python:

    cd web_services
    python3 -m venv venv
    source venv/bin/activate
  3. Install the required Python libraries (e.g., Flask, psycopg2):

    pip install flask psycopg2
  4. Run the Python web services:

    python app.py
  5. Start the PHP server from the project root:

    php -S localhost:8000

🧠 Database

πŸ”’ The SQL file for the database has been intentionally hidden.

🧾 However, the entire schema can be easily reconstructed using the provided Entity-Relationship (ER) diagram, which outlines all entities and their relationships, including:

  • πŸ‘₯ Users
  • πŸ’³ Credit Cards
  • πŸ“‡ Smart Cards
  • 🚲 Bicycles
  • πŸ› οΈ Operations
  • πŸ“ Docking Stations

πŸ“Œ All primary and foreign keys are clearly defined for easy replication.

You can use tools such as:

to design and recreate the database schema visually.


πŸ” Features

Here’s a quick overview of the system’s key features:

  • βœ… User registration and authentication
  • 🚴 Bike rental and return via RFID smart card
  • πŸ—ΊοΈ Real-time map of available bikes and stations
  • πŸ’³ Payment processing via credit card
  • πŸ‘€ Personal dashboard with usage history
  • πŸ› οΈ Admin panel for service operations and maintenance
  • πŸ” Python-powered RESTful web services

πŸ§ͺ Manual Testing

To test the project manually, follow these steps:

  1. 🧩 Recreate the database based on the ER diagram
  2. 🐍 Run the Python web services (app.py)
  3. 🌐 Start the PHP server and access the app through your browser

πŸ§ͺ Manual testing is enough to explore most of the core features and flows.


✨ Contributing

πŸŽ‰ Contributions are more than welcome!

If you find a bug 🐞, have a feature request ✨, or want to improve the code πŸ’»:

πŸ’¬ Feel free to reach out on GitHub or by email!

Let’s build this together!


πŸ“œ License

πŸ“„ This project is released under the MIT License.
Please refer to the LICENSE file for full details.


πŸ§‘β€πŸ’»βœ¨ Happy coding

About

🚴 This is a bike sharing management system. The project allows user registration and authentication, management of bicycles and docking stations, operation monitoring, and smart card handling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published