Travis-CI status on Master Branch:
Gold Scheduler helps UCSB students plan their upcomming quarter by making easier for them to visualize multiple potential schedules. User can use dropdown bottom to choose the classes and sections directly. Also, they can select the classes available for the quarter selected and delete class just like in GOLD. The calendar will show them the conflict of classes, so they can manage the scheduler by themselves easily.
A webapp for UCSB students to help them plan their fututre quarter schedules
The user can make their multiple schedules on one page. Easy for them to register class and plan their class process.
- pip
- python3
- flask
- postgreSQL
- gunicorn (for Heroku deployment)
- Fork the repo
- Install pip
- Install PostgreSQL on your machine: Mac | Windows
- Install virtual environment:
$ pip install virtualenv
- Under your project file:
$ virtualenv venv
- Active virtualenv:
$ source venv/bin/activate
- Install requirements from requirements.txt:
$ pip install -r requirements.txt
- Database setup:
- You need a heroku accont. Then, you need to create a project on heroku. Under the project, add-on Heroku Postages.
- Under your Heroku Postages, you need to go to setting->view credentials... Copy Hero CLI
- Open your terminal, paste the your Heroku CLI. Now you should connect to your database.
- Open the routes.py, replace {os.environ['DATABASE_URL']} to your database info. Reference
- In your python console:
>>>from routes import db
>>>db.create_all()
- Now, you have your data table created in database.
- Back to the terminal:
- Select your table:
$ select * from Public.”yourTableName”
- Download the class data(csv file) is from data file on github.
- Import the data:
$ \copy Public."yourTableName” FROM 'path of the csv file' DELIMITER ',' csv HEADER;
- Select your table:
- To start the app:
$ export FLASK_APP=routes.py
$ flask run
- If you want scrap data by yourself, here is a link for a scraper which is written by UCSB-rooms goup. It is written in python, which is esaier to follow than our java-version. Link
- User open the link above.
- Read the page of introduction, and click the link to get start.
- Use dropdown boxes to find the class they need.
- Click add class to add class to the schedule
- Delete or continue add classes. The calendar may show them the note if the confliction happens.
- Use "Plus" bottom to add more schedules.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
If you haven't already, add a file called LICENSE.txt with the text of the appropriate license. We recommend using the MIT license: https://choosealicense.com/licenses/mit/
The Value Exchange: users are happy with the result