TIMESYNC-Project / TIMESYNC-BE

Apache License 2.0
0 stars 1 forks source link

TIMESYNC

Capstone Program Immersive Alterra Academy
| Open API Documentation |

📑 About the Project

TIMESYNC is an attendance web-app that used by employee to clock-in and clock-out. In this web-app employee can do an approval request for them if they can't attend to office. In order to make sure our app works well and following the requirements. We as a backend engineer build efficient and tested our systems.

🛠 Tools

Backend:
GitHub Visual Studio Code MySQL Go JWT Swagger Postman

Deployment:
AWS Docker Ubuntu Cloudflare

Communication:
GitHub Discord

🔗 ERD

⚡ Features

đŸ‘ļ Admin | Method | Endpoint | Params |q-Params | JWT Token | Function | | ----------- | ------------------- | ----------- |--------------------| ----------- | --------------------------------------- | | POST | /register | - |- | YES | Register a new employee | | POST | /register/csv | - |- | YES | Register a new employee via csv | | POST | /login | - |- | NO | Login to the system | | GET | /companies | - |- | YES | Show company profile | | PUT | /companies | - |- | YES | Update company profile | | GET | /employees | - |- | YES | Get all employee data | | GET | /employees/{id} | employee_id |- | YES | get employee profile | | PUT | /employees/{id} | employee_id |- | YES | Update employee profile | | DELETE | /employees/{id} | employee_id |- | YES | Deactivate employee account | | GET | /setting | - |- | YES | Get setting data | | PUT | /setting | - |- | YES | Update setting data | | POST | /announcements | - |- | YES | Post Announcement to employee | | GET | /announcements | - |- | YES | Get all Announcements | | DELETE | /announcements | announcement_id |- | YES | Delete Announcements | | GET | /presences/total | - |- | YES | Get total employee presences in a day | | POST | /attendances/{id} | employee_id |- | YES | Make an attendance for employee | | GET | /approvals | - |- | YES | Get all employees approval records | | GET | /approvals/{id} | approval_id |- | YES | Get approval details | | PUT | /approvals/{id} | approval_id |- | YES | Update employee approval status | | GET | /graph | - |type,year_month,limit | YES | Get data for graph | | GET | /search | - |q| YES | Search for employee name or employee nip| | GET | /record/{id} | employee_id |- | YES | Get employee attendance record | | GET | /presences/detail/{id} | presence_id |- | YES | Get employee presences detail |
đŸ‘ļ Employee | Method | Endpoint | Params | JWT Token | Function | | ----------- | ------------------- | ----------- | ----------- | --------------------------------------- | | POST | /login | - | NO | Login to the system | | GET | /employees/profile | - | YES | Show Employee Profile | | PUT | /employees | - | YES | Update photo and password for employee | | GET | /announcements/{id} | announcement_id | YES | GET announcement detail | | GET | /presences | - | YES | GET total presences in a day per employee | | POST | /attendances | - | YES | Employee Clock In | | PUT | /attendances | - | YES | Employee Clock Out | | GET | /attendances | - | YES | Get Employee Attendances Record | | POST | /approvals | - | YES | Employee can make an approval for permission | | GET | /employee/approvals | - | YES | GET Employee approvals record | | GET | /inbox | - | YES | GET inbox message from admin for employee |

🛠ī¸ How to Run Locally

$ git clone https://github.com/TIMESYNC-Project/TIMESYNC-BE
$ cd TIMESYNC-BE

🤖 OUR Back End Team

🤖 OUR Front End Team

🤖 OUR Quality Assurance Team

Built with ❤ī¸ by Timesync Team Šī¸ 2023