orario-scolastico-itet/README.md

69 lines
2.0 KiB
Markdown
Raw Normal View History

2024-09-05 15:48:27 +00:00
# Orario Scolastico
Orario Scolastico is a web application that allows students to view their school
timetable in a more readable way. The application works by downloading the PDF
file containing the timetable from the school website and then displaying it in
a more user-friendly format.
## Requirements
### If you want to use Docker Compose
- [Git](https://git-scm.com/downloads) (optional)
- [Docker Compose](https://docs.docker.com/compose/install/)
### If you don't want to use Docker Compose
- [Git](https://git-scm.com/downloads) (optional)
- [Cargo](https://doc.rust-lang.org/stable/cargo/getting-started/installation.html)
- [Python](https://www.python.org/downloads/)
## Usage
If you want to self-host the project, you can follow the steps below:
### With Docker Compose
```bash
git clone https://git.riefolo.me/mariano/orario-scolastico-itet.git
cd orario-scolastico-itet
docker compose up -d --build
```
### Without Docker Compose
If you prefer to build the project without Docker, you can follow the steps below:
```bash
git clone https://git.riefolo.me/mariano/orario-scolastico-itet.git
cd orario-scolastico-itet
cargo build --release
./target/release/orario-scolastico-itet
```
Consider that this may not work if you are not on a Linux machine.
## Contributing
Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.
Please make sure to update tests as appropriate.
## FAQ
### Does this project DoS the school website?
The project features a cache system that prevents it from making too much
requests. The list of PDFs is only fetched every 30 minutes only if a user asks for
it, and the pdf files are only fetched once per file.
### Can I use this project with my school?
At the moment, the project is only compatible with the
[ITET Cassandro Fermi Nervi](https://cassandroferminervi.edu.it/) institute in Italy.
## License
Orario Scolastico is released under the [Mozilla Public License 2.0](LICENSE)