ძირითადი მახასიათებლები
1. მომხმარებლის ავთენტიფიკაცია
აპლიკაცია უზრუნველყოფს, რომ მხოლოდ უფლებამოსილ პერსონალს შეუძლია წვდომა დასწრების ფუნქციებზე:
შესვლის სისტემა: მომხმარებლები შედიან თავიანთი რწმუნებათა სიგელებით, რომელიც შეიძლება შეიცავდეს ელფოსტას და პაროლს ან ბიომეტრიულ დადასტურებას.
როლებზე დაფუძნებული წვდომა: ადმინისტრატორებს, მენეჯერებსა და თანამშრომლებს აქვთ მორგებული წვდომა მონაცემებზე და ფუნქციებზე მათი როლების მიხედვით.
2. Punch-In და Punch-Out სისტემა
თანამშრომლებს შეუძლიათ თავიანთი სამუშაო საათების ჩაწერა შემდეგნაირად:
Punch-In: სამუშაო დღის დასაწყისში მომხმარებლებს შეუძლიათ აღნიშნონ დასწრება.
Punch-out: მათი ცვლის ბოლოს, მომხმარებლები შედიან თავიანთი გამგზავრების შესახებ.
ოფლაინ რეჟიმი: ქსელის პრობლემების შემთხვევაში, აპლიკაცია ინახავს დასწრების მონაცემებს ადგილობრივად და სინქრონიზებს სერვერთან კავშირის აღდგენის შემდეგ.
3. მდებარეობის თვალყურის დევნება
აპი იღებს მომხმარებლის მდებარეობას რეალურ დროში პუნჩ-ში და პუნჩ-აუტის დროს, რათა უზრუნველყოს დასწრების სიზუსტე შესვლა:
მდებარეობის სიზუსტე: იყენებს GPS-ს და API-ებს (მაგ., Google Maps ან Ola API) ზუსტი მდებარეობის კოორდინატების მისაღებად.
Geofencing: აფრთხილებს მომხმარებლებს, თუ ისინი იმყოფებიან ნებადართული მდებარეობის მიღმა, როდესაც ცდილობენ დასწრების შესვლას.
4. გამოსახულების გადაღება
პროქსის დასწრების თავიდან ასაცილებლად:
აპი იღებს სელფის ჩასვლისა და პუნჩ-აუტის დროს.
სურათები ინახება უსაფრთხოდ, დაკავშირებულია მომხმარებლის ჩანაწერებთან.
5. თარიღი და დრო ჩაწერა
აპი ავტომატურად იწერს დარტყმის თარიღს და დროს:
უზრუნველყოფს სამუშაო გრაფიკის დაცვას.
უზრუნველყოფს დროის ნიშანს თითოეული დასწრებისთვის.
6. მონაცემთა მართვა
ყველა დაჭერილი მონაცემი ინახება უსაფრთხოდ:
მონაცემთა ბაზის დიზაინი: მოიცავს მომხმარებლების ცხრილებს, დასწრების ჩანაწერებს და მდებარეობის მონაცემებს.
უსაფრთხო შენახვა: ახორციელებს დაშიფვრას მგრძნობიარე ინფორმაციის დასაცავად, როგორიცაა მომხმარებლის სურათები და მდებარეობები.
7. დაფა ადმინისტრატორებისთვის
აპს აქვს დაფა ადმინისტრატორებისთვის:
იხილეთ დასწრების ჟურნალი.
შექმენით ანგარიშები (ყოველდღიური, ყოველკვირეული ან ყოველთვიური).
მონაცემების ექსპორტი სახელფასო და შესაბამისობის მიზნებისთვის.
სამუშაო პროცესი
1. მომხმარებლის შესვლა
მომხმარებლები ხსნიან აპს და შეიყვანენ თავიანთი შესვლის სერთიფიკატებს.
წარმატებული ავთენტიფიკაციის შემდეგ, ისინი მიმართულია მთავარ ეკრანზე, რომელიც აჩვენებს Punch-ის და Punch-out ვარიანტებს.
2. Punch-In პროცესი
ნაბიჯი 1: მომხმარებელი შეეხება ღილაკს "Punch-In".
ნაბიჯი 2: აპი იღებს მიმდინარე მდებარეობას მოწყობილობის GPS ან API-ების გამოყენებით.
ნაბიჯი 3: სელფის გადაღება ხდება მომხმარებლის ყოფნის დასადასტურებლად.
ნაბიჯი 4: მიმდინარე თარიღი და დრო ავტომატურად ჩაიწერება.
ნაბიჯი 5: ყველა შეგროვებული მონაცემი (მდებარეობა, სურათი, თარიღი და დრო) ინახება ადგილობრივ მონაცემთა ბაზაში ან იგზავნება სერვერზე.
3. Punch-out პროცესი
Punch-out პროცესი იდენტურია Punch-in-ის, გარდა იმისა, რომ ის აღრიცხავს გამგზავრების დროს.
4. მონაცემთა სინქრონიზაცია
ხაზგარეშე რეჟიმში, დასწრების ჩანაწერები ინახება ადგილობრივად ისეთი ტექნოლოგიების გამოყენებით, როგორიცაა SQLite ან Hive.
როდესაც ინტერნეტთან კავშირი აღდგება, აპლიკაცია სინქრონიზებს მონაცემებს დისტანციურ სერვერთან.
5. ადმინისტრატორის დაფის წვდომა
ადმინისტრატორებს შეუძლიათ შევიდნენ ცალკეულ პორტალზე, რათა მართონ და გააანალიზონ დასწრების მონაცემები.
მონაცემთა ფილტრები მათ საშუალებას აძლევს ნახონ კონკრეტული თანამშრომლის ჩანაწერები ან შექმნან ანგარიშები.
ტექნიკური არქიტექტურა
ფრონტენდი
ჩარჩო: ფლატერი კროს-პლატფორმული განვითარებისთვის.
UI: ინტუიციური და მარტივი ინტერფეისი თანამშრომლებისა და ადმინისტრებისთვის.
ოფლაინ ფუნქციონალობა: ინტეგრაცია Hive-თან ან SharedPreferences-თან ოფლაინ მონაცემთა შესანახად.
Backend
Framework: FastAPI ან Node.js API-ების შესაქმნელად.
მონაცემთა ბაზა: PostgreSQL ან MongoDB მომხმარებლის და დასწრების მონაცემების შესანახად.
შენახვა: ღრუბლოვანი საცავი (მაგ., AWS S3) სურათებისა და დაშიფრული მგრძნობიარე მონაცემებისთვის.
API-ები
ავტორიზაციის API: ამუშავებს შესვლას და მომხმარებლის ვალიდაციას.
Punch-In/Out API: აღრიცხავს დასწრების მონაცემებს და ინახავს მონაცემთა ბაზაში.
სინქრონიზაციის API: უზრუნველყოფს ოფლაინ მონაცემების ატვირთვას სერვერზე, როდესაც ონლაინ რეჟიმშია.
უსაფრთხოების ზომები
მონაცემთა დაშიფვრა: დაშიფრეთ მგრძნობიარე ინფორმაცია, როგორიცაა სურათები და GPS კოორდინატები.
ჟეტონზე დაფუძნებული ავთენტიფიკაცია: იყენებს JWT API-ებზე უსაფრთხო წვდომისთვის.
როლების მენეჯმენტი: უზრუნველყოფს მომხმარებლებს მხოლოდ მათი როლის შესაბამის მონაცემებსა და ფუნქციებზე წვდომა.