This repository contains an API that fetches the schedule of the students of the Higher Institute of Applied Sciences and Technology of Sousse (ISSATSo) from the official website and based on that it provides information about Available classrooms in a specific day and session or the availability of a single classroom in a week, all returned in JSON format and it is consumed by an interactive and responsive frontend application.
- Fetch the schedule of the students of the Higher Institute of Applied Sciences and Technology of Sousse (ISSATSo) from the official website.
- Provide information about Available classrooms in a specific day and session.
- Provide information about the availability of a single classroom in a week.
If you want to run the project locally, you can follow the following steps:
git clone https://github.com/Younes-ch/issatso-schedule-scrapper.git
Create .env
files in both projects Server and Client, There are reference files for the environment variables in the root of each project, you can copy them and rename them to .env
and fill in the required information.
cd issatso-schedule-scrapper
docker-compose up
cd issatso-schedule-scrapper/server
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
python manage.py migrate # Remember to have a postgres database running either with docker or locally or hosted on the cloud.
python manage.py runserver
# Open a new terminal
cd issatso-schedule-scrapper/client
npm install
npm run dev
-
First you need to send a GET request to the
/api/groups/update
endpoint withAuthorization
header of your ISSATSo Token to fetch the schedule of the students of the Higher Institute of Applied Sciences and Technology of Sousse (ISSATSo) from the official website. -
The API is consumed by the frontend application, you can access it by visiting the following URL: http://localhost:3000