Skip to content

AmineDjeghri/SUCAL

Repository files navigation

SUCAL : Sorbonne Université calendar

Build Status

Sceenshots

Dark Mode Light Mode

Features

  • A fast website that loads your calendar in less than a second compared to more than 25sec on the official website
  • A friendly mobile website
  • Dark mode
  • The Calendar is updated every 30min
  • When you select a special field it will automatically add the events from the general field (ex: you select M1_DAC, the calendar will contain M1_DAC + M1 events)

Want to contribute ?

1- Checkout to develop branch and install the requirements (use python 3.7)

pip install -r requirements.txt

(If you use pipenv instead of pyenv or conda, you can find the guide here)

2- Run the project

  • copy .env.sample to .env (this file contains the settings of the app)
  • run flask run in the terminal to start the application
2.2 - Pycharm

Now if you go to the address, you should see the website, but there is no database configured yet. Check the next session to configure the database.

3- configure the database for the first time:

  • Install Postgresql 12
  • Open pgAdmin4 (postgres app), it should open a new tab in the browser
  • Create the database with the name sucal (servers -> postgresql -> databases -> right click and create)
  • In the .env file change the DATABASE_URL to : postgresql://postgres:PASSWORD@localhost:5432/sucal
  • Don't forget to replace PASSWORD with your postgres password
  • Keep pgadmin running in the background
  • Run the upgrade command flask db upgrade, if you go to pgadmin in sucal -> schemas -> public -> tables, you should see the table user

If you want to modify the database models:

  • Each time the database models change repeat the migrate and upgrade commands.
  • Migrate command : flask db migrate -m "Your comment"
  • Upgrade command : flask db upgrade

TO DO:

  • Profile calendars
  • Receive a notification to tell you 10min before a course where it is situated
  • UTC timzone parsing (see if it is 100% correct)
  • Handle error pages like 404 when a user try to enter a master URL that does not exist

This website is not made by, affiliated with or endorsed by Sorbonne Université

  • The only official thing here is: the 'calendar data' extracted from the official DevCAl website

Hosting:

  • Heroku
  • cron-job.org for 30min schedual ping

credits:

  • Louis for the idea
  • The logo of the app was created by freepik and modified by me

If you use Pyenv:

Installation

Inside the SUCAL folder, open a terminal and enter the following commands:

  • pip install pipenv
  • pipenv shell create a pipenv environement
  • pipenv install install all required modules
  • Change the name of the .env.sample file to .env

Running the project if you use pipenv

You need to run these commands everytime you want to run the application:

  • pipenv shell to activate your project environement
  • flask run to start the application