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.
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)
-
Clone this repository:
git clone https://github.com/andredisa/BikeSharing_Project.git cd Bike_Sharing
-
(Optional) Create a virtual environment for Python:
cd web_services python3 -m venv venv source venv/bin/activate
-
Install the required Python libraries (e.g., Flask, psycopg2):
pip install flask psycopg2
-
Run the Python web services:
python app.py
-
Start the PHP server from the project root:
php -S localhost:8000
π 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.
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
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.
π Contributions are more than welcome!
If you find a bug π, have a feature request β¨, or want to improve the code π»:
- Open an Issue
- Submit a Pull Request π
Letβs build this together!
π This project is released under the MIT License.
Please refer to the LICENSE file for full details.