https://github.com/gongchen161/OddJob
- Python3
- MySQL
- Flask
- PyMySQL
- The default databse username used is 'root' and no password. To change the database username/password, edit them in line 15/16 of oddjob.py.
- Create database 'OddJob'
- Import tables.sql to OddJob. You can use, e.g. mysql -u root OddJob < /File/Path/OddJob/tables.sql
- Populate data with OddJob.sql file: mysql -u root OddJob < OddJob.sql
- Run python3 oddjob.py
- Running script with new MySQL install on linux machine sometimes gave error:
<pymysql.err.InternalError: (1698, "Access denied for user 'root'@'localhost'")>
- Error was fixed with the following commands:
sudo mysql -u root mysql> USE mysql; mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit; service mysql restart
- Error was fixed with the following commands:
- Running script with new MySQL install on linux machine sometimes gave error:
<pymysql.err.InternalError: (1698, "Access denied for user 'root'@'localhost'")>
- Go to localhost:5000 to access the application
-
Web App opens to Customer home screen, where a user can register, login, or switch to the Worker page.
-
After a customer registers and logs in, they are redirected to the Jobs page where they can view their job requests, pending jobs, and job history.
-
From the nav bar, the user can go to the job post page where they can post jobs with a specified job type, job location, and a short description.
-
The nav bar also has a link to the user profile, where they can edit their address, change their password, and change their basic information.
-
Their is also a support page where users can message admin with any issues and admin can respond from the admin portal.
-
After logging out, a user is redirected back to the home page.
-
At the home page, users can switch to the worker site where they can register/login a worker account.
-
Workers are also redirected to their job page where they can view pending, upcoming, and completed jobs.
-
Workers must have their skill set verified by admin in order to accept jobs.
- Admin can approve skills by going to localhost:5000/admin
-
Once a worker has skills approved, they can go to the job search page to search an area for jobs that coincide with their skills.
-
A worker places their bid on a job, at which point the customer can go to their job page and accept a worker of their choice.
- To help customer select the worker, the customer can view all the bids as well as the profile of the workers
-
Workers also have access to a support portal where they can send admin messages.
-
localhost:5000/admin is the admin portal which contains pending skills and support messages
- Portal is not secured for demo purposes
-
- Customer
- U: dp2387@nyu.edu P: oddjobdev
- U: scarface@gmail.com P: pushittothelimit
- Worker
- U: rob.boss@gmail.com P: happyaccident
- U: jazz.hands@gmail.com P: kindofblue
- Instead of workers and customers rating each other, now only customers can rate workers
- This was done to allow new customers without ratings to still have jobs fulfilled
- Customers now request jobs which workers then bid on, rather than having a worker post a job or the server sends a list of worker
- This was done to ensure specific customer needs would be met
- We want to give workers more freedom and let them decide on the price