Skip to content

winartodev/attendance-system

Repository files navigation

Attendance System

Descriptions

attendance application using the golang application with the clockin reminder and clockout reminder features. As the admin can add new users and take attendance, a clockin reminder will be sent to the user's email which must be clocked in and clocked out

Requirements

  • Go 1.19.4 or later
  • Mysql 8.0

Used Framework

  • echo (API Framework)
  • entgo (ORM)

Feature

  • Authentication with bearer token using JWT
  • CRUD Employee, Attendance
  • Reminder using RabbitMQ as a message broker
  • API Docs swagger.yaml
  • Implement CI
  • deployed via fly.io

Database Schema

Database Schema

Table Employees

Column Data Type Description
id INT(5) unique id to identify employee
name VARCHAR(255) employee name
email VARCHAR(255) email of the employe. use for send reminder

Table Attendances

Column Data Type Description
id INT(5) unique id to identify attndance
employee_id INT(5) employee_id identify employee
clcoked_in TIMESTAMP store date and time to reminder employee start working
clcoked_out TIMESTAMP store date and time to reminder employee finished working

Table User

Column Data Type Description
id INT(5) unique id to identify user
username INT(255) username user
password TEXT password user
role INT(1) identify level of user use 1 to admin use 0 for basic user

How to run this API

  1. Clone this repo
  git clone https://github.com/winartodev/attendance-system.git
  1. Open swagger.yaml
  2. Enjoy it :)

Here The Result

Login Result

login_result

Register Result

registerr_result

Authorization

registerr_result

List Of Attendance

registerr_result

List Of Employee

registerr_result

User un authorize

registerr_result

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published