π² Bike Sharing Management System
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.0Python
>= 3.9PostgreSQL
(for the database)Local web server
(e.g., Apache or Nginx)Composer
(optional, for managing PHP dependencies)Virtualenv
(optional, for managing Python environments)
π¦ Installation
Clone this repository:
(Optional) Create a virtual environment for Python:
Install the required Python libraries (e.g., Flask, psycopg2):
Run the Python web services:
Start the PHP server from the project root:
π§ 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:
π§© Recreate the database based on the ER diagram
π Run the Python web services (
app.py
)π Start the PHP server and access the app through your browser
π§ͺ Manual testing is enough to explore most of the core features and flows.
π License
π This project is released under the MIT License.
Please refer to the LICENSE file for full details.