- Project Description
- Project Artifacts
- Installation and Setup (Docker)
- Usage
- Development Setup (Without Docker)
- Management Commands to Add Dummy Data
- Team Members
Clyde Ryde is an e-vehicle sharing platform that enables users to locate, rent, and return electric vehicles across various locations. The system is designed for customers to reserve vehicles, operators to manage and maintain the fleet, and managers to access usage reports. Built with Django, PostgreSQL, and Redis, Clyde Ryde provides a seamless experience for all users.
Ensure Docker Engine and Docker Compose are installed:
docker --version
docker-compose --version
git clone https://stgit.dcs.gla.ac.uk/programming-and-systems-development-m/2024/lb03-04/clyde-ryde.git
cd clyde-ryde
docker-compose up --build
docker-compose exec web python manage.py showmigrations
Users can view available vehicles, rent, and return them at selected locations. Operators manage the vehicle statuses (charging, repairing, etc.), while managers can view different reports on the usage. This repository includes commands to set up and populate the application with sample data, which can be useful for testing and demonstration. This is done automatically if installed using Docker, or can be run manually (see: Management Commands to Add Dummy Data).
Username | User Type | Password |
---|---|---|
superuser | admin | password |
john | customer | password |
jane | customer | password |
emily | customer | password |
michael | operator | password |
william | manager | password |
-
Install Python 3.12 Verify the installation:
python3.12 --version
-
Install PostgreSQL 14 Verify the installation:
psql --version
-
[Optional] Install Redis Verify the installation:
redis-server --version
git clone https://stgit.dcs.gla.ac.uk/programming-and-systems-development-m/2024/lb03-04/clyde-ryde.git
cd clyde-ryde
python3.12 -m venv venv/
source venv/bin/activate # For MacOS/Linux
venv\Scripts\activate # For Windows
pip install -r requirements.txt
chmod +x scripts/init_db.sh
./scripts/init_db.sh
OR run the following SQL statements:
CREATE DATABASE "clyde_ryde";
CREATE ROLE "admin" WITH LOGIN PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE "clyde_ryde" TO "admin";
pre-commit install
python manage.py runserver
python manage.py add_users
Password for all users is password.
python manage.py add_locations
python manage.py add_vehicles --number 15
python manage.py add_trips --start_date 2024-10-01 --number 30
- Bairui Zhou ([email protected])
- Chaoyue Wang ([email protected])
- Siddhartha Pratim Dutta ([email protected])
- Siwei Chen ([email protected])
- Tingyu Zhou ([email protected])
- Zhiqi Gao ([email protected])
- Zhiying He ([email protected])
We hope you enjoy using Clyde Ryde!