This repo contains three independent django applications and a database. Folders
- experience
- models
- front-end
- mysql
Each has its own folder.
- make sure you have docker and docker-compose installed
- git clone https://github.com/WenTingZhu/isa-marketplace.git
- cd isa-marketplace
- docker-compose up
- Quit by pressing ctr-c This sets up the initial connection between the different docker containers
- docker-compose run models python manage.py makemigrations
- docker-compose run models python manage.py migrate
- docker-compose up
- You're all done! You can edit the isa-marketplace/rideshare directory. Your changes will be applied in the docker container, and you will see them live on the browser at http://localhost:8000
If you are going to be creating applications and projects or performing any Django operations on your local computer, you may want to create a virtual environment.
- cd isa-marketplace
- pip install virtualenv
- virtualenv ENV -p
which python3.5
- I am using
- requires python3.5
- ENV folder (and therefore your virtualenv) will NOT be pushed to github since it is ignored in .gitignore
- source ENV/bin/activate
- pip install django==1.8
- pip install mod_wsgi
-
it may be difficult to install mod_wsgi. If so, then go ahead and go into the setting.py file for the project that you want to work on and simply comment out 'mod_wsgi.server' from INSTALLED_APPS.
-
once you are done modifying the structure of the app, you want to uncomment 'mod_wsgi.server'
-
Debug: bash start.sh --reset-hard
-
Testing: sudo docker-compose run models python manage.py test
- As a driver, I want to enter a preset location to which I will be driving so that riders can see and request a ride.
- As a driver, I want to set a limit of the number of riders I can take with me.
- As a driver, I want to have the option for choosing to drop people off at a predefined central location or a specific location.
- As a driver, I want to be payed more for dropping off people at home.
- As a driver, I want to make sure that the riders can be relied on to pay for the ride.
- As a driver, I want to let people know that I am going at a scheduled future time.
- As a driver, I want to know where I need to know where I am dropping people off if they chose specific locations.
- As a driver, I want to be able to specify my own pricing.
- As a rider, I want to make sure that the driver is a UVA student.
- As a rider, I want to be able to choose whether I want to be dropped off at a central location or a specific location if I have that option.
- As a rider, I want to pay online.
- As a rider, I want to be able to get a ride at a scheduled future time.
- As someone who receives/sends goods, I want to make sure the driver does not open my packages.
- As someone who receives/sends goods, I want to receive/send goods faster and safer than traditional mail service.
- list of rides
- driver
- number of available seats
- from, to
- map -> will be on details page for a given ride
- departure time
- button to ask for ride
- clicking on ride row in table should take you to details page for ride
- current user information -> display name at top right corner
- go to home page button
- menu -> profile page, home page, list of rides page,
- ride details page