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.
If you find my work useful and would like to support me, you can buy me a coffee! Your support helps me keep creating and improving my projects. Thank you! π