TimeLog е система за проследяване на работното време на служители,
изградена с
помощта на Flask - уеб рамка за Python.
То позволява на потребителите да записват времето на пристигане и напускане,
да разглеждат записите и да ги
експортират в Excel файл.
Технологии:
1. Flask:
Това е основната уеб рамка, която захранва приложението.
Тя се използва за обработка на маршрути, сервиране на
HTML страници и обработка на подадени форми.
render_template се използва за рендиране на HTML шаблони, а flash за показване на съобщения на
потребителите.
2. SQLite:
SQLite е лека релационна базата данни, използвана тук заради простотата си
и за да се избегне настройка на по-сложна система.
Приложението използва worker_logs.db за съхранение на записите за работниците,
включително работни ID, време на пристигане и време на напускане.
3. Python библиотеки:
datetime: Използва се за записване на текущото време при регистрация на работник.
os: Използва се за работа с файлове, като например експортиране на записи в Excel файл.
re: Модул за регулярни изрази, който се използваме за валидиране на работни ID.
4. Pandas:
Pandas използваме за извличане записите на работниците от базата данни SQLite
и експортирането им в Excel формат (.xlsx) чрез използването на openpyxl.
5. HTML и Jinja2:
Flask използва Jinja2 за рендиране на HTML динамично.
Шаблонът index.html ще бъде с данни за записите на работниците, когато се посети
основната страница.
6. Експортиране в Excel:
Приложението позволява експортиране на записите в Excel файл чрез използването на pandas и
openpyxl.
Функции:
1. Записване на време на пристигане и напускане:
Работниците могат да регистрират времето си на пристигане и напускане чрез въвеждане на своето работно ID.
Приложението гарантира, че работниците не могат да се регистрират прекалено бързо,
чрез минимално време между две сканирания, за да се избегнат грешки.
Ако работникът вече е пристигнал, приложението записва времето на напускане при ново сканиране.
2. Операции с база данни:
Приложението създава база данни (worker_logs.db), ако тя не съществува, и съхранява записите за
работниците.
Всеки запис съдържа работно ID, време на пристигане и време на напускане.
3. Валидация:
Работното ID се валидира, за да се уверим, че е само с букви и цифри, между 3 и 20 символа.
Показват се съобщения на потребителя за успешни или неуспешни действия, като успешен вход или изход.
4. Експортиране в Excel:
Всички записи могат да бъдат експортирани в Excel файл.
Този файл съдържа работно ID, време на пристигане и време на напускане за всеки запис.
5. Изчистване на записите:
Приложението позволява изчистване на всички записи от базата данни.
Работен процес:
1. Потребителят стартира приложението от файла (Start).
2. Посещава основната страница (http://127.0.0.1:5000) в своя Browser.
3. Въвежда своето работно ID, клика бутона LOG или натиска Enter.
4. Системата записва времето му на пристигане или напускане.
5. Записите могат да бъдат прегледани, експортирани в Excel файл или изчистени.