Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aminedjeghri/sucal
Sorbonne Université calendar
https://github.com/aminedjeghri/sucal
calendar sorbonne sorbonne-university
Last synced: 3 months ago
JSON representation
Sorbonne Université calendar
- Host: GitHub
- URL: https://github.com/aminedjeghri/sucal
- Owner: AmineDjeghri
- License: gpl-3.0
- Created: 2020-08-08T21:36:10.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-31T10:22:48.000Z (almost 3 years ago)
- Last Synced: 2024-10-12T14:13:23.699Z (3 months ago)
- Topics: calendar, sorbonne, sorbonne-university
- Language: Python
- Homepage: http://sucal.aminedjeghri.com
- Size: 4.36 MB
- Stars: 17
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SUCAL : Sorbonne Université calendar
### Le lien: [sucal.aminedjeghri.tk](http://sucal.aminedjeghri.tk/)[![Build Status](https://travis-ci.com/AmineDjeghri/SUCAL.svg?branch=master)](https://travis-ci.com/AmineDjeghri/SUCAL)
# 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](https://github.com/AmineDjeghri/SUCAL/tree/master#if-you-use-pyenv))
#### 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
- for Pycharm users: you can run the __init__.py in debug mode after enabling Live Edit
- take a look at https://www.jetbrains.com/help/pycharm/live-editing.html#ws_live_edit_activate_procedure)
- In edit configurations of the debug session : check FLASK_DEBUG
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