Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lc-at/praesentia
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.
https://github.com/lc-at/praesentia
hacktoberfest presence-list python python3 qr
Last synced: 2 months ago
JSON representation
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.
- Host: GitHub
- URL: https://github.com/lc-at/praesentia
- Owner: lc-at
- License: mit
- Created: 2021-09-06T06:31:30.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-02T04:16:13.000Z (about 1 year ago)
- Last Synced: 2024-11-01T11:02:31.494Z (2 months ago)
- Topics: hacktoberfest, presence-list, python, python3, qr
- Language: Python
- Homepage: https://lcat.dev/praesentia
- Size: 253 KB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-made-by-indonesian - Praesentia - `Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.` *by [Faiz Jazadi](https://github.com/p4kl0nc4t)* (P)
README
# Praesentia
Praesentia is a simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.You can use an image file containing a QR code (can be obtained using a screenshot). Alternatively, you can just directly use the camera.
## Frequently Asked Questions (FAQ)
### Demo
The demo is available at https://lcat.dev/praesentia. Don't expect a 99.99% uptime, the server is an old Raspberry Pi 3. As a fallback, you can also use https://praesentia.onrender.com.### Background
- Many UGM students are required to use SIMASTER mobile app to scan QR codes to fill their presence list. This mostly means that a student needs at least two devices to make the mechanism works.
- Two devices are not always available.### API Source
I decompiled SIMASTER mobile app to get the source code. I also used interceptors to quickly recognize what was being sent and received.### Working Principle
It works just like scanning QR in the SIMASTER mobile app.### Side-effect
I don't think there is any except that you will get logged out of your SIMASTER app on your phone (just re-login, it will work again). I have never done research
about the API's rate-limiting or any possible ban.## Installation and Deployment
Installation of Praesentia is fairly straightforward. You just need at least Python 3.6.### Installing Requirements
This app only requires `flask` (to serve the web) and `requests` library (to call the API). You can install both using pip.
```
pip install flask requests
```
Or, you can install it using the `requirements.txt`:
```
pip install -r requirements.txt
```
It is recommended but not necessary to separate an app's environment by using a virtual environment (e.g. `venv`).### Deployment
There are many ways to deploy Praesentia. You can use the following (but not limited to) ways:
- Gunicorn
```
gunicorn -b :6749 wsgi:app
```
- Flask development server
```
python wsgi.py
```
- Heroku: there is already a `Procfile` file, feel free to use and/or edit it.## Contribution
Contribution in any form will be highly appreciated.## License
This project is licensed under MIT License.