# Time Attendance (+Course Owner) => Payroll
## Spec
(last update 2020-09-11)
* school has many course
* school has many student
* school has many teacher
* student can take many course
* student can view credit balance depend on course
* teacher can teach many course
* course can own by many teacher
* course can filter and separate by multi-dimension
* system can validate course credit by student
* system can log teach course event (date/time/teacher/student)
* system has multiple rules to calculate return bonus
* system can generate multiple report (need more info)
* time attendance (in/out/late/leave)
* shift, roles, permission (need more info)
## Architech
- frontend/backend
- api support multiple frontend and mobile app
- auth with access_token/refresh_token
- production with serverless/docker/kube
## Suggest Stack
- React (NextJS)
- Postgresql
- PostGraphile
- Go/Python/PHP/NodeJS
- React Native
- Nginx
- Redis
- AWS
## Suggest Tools
* 🏗 Boilerplate: NextJS with Typescript
* 🔀 Routing: React Router
* 🧩 State Management: Redux with Redux Toolkit
* ✨ UI Library: Ant Design
* 💅 Styling: TailwindCSS and Emotion
* ✅ Forms: React Hook Form
* 🌍 i18n: LinguiJS
* 📬 Http Client: Axios
* 👌 Testing: Jest with React Testing Library and Cypress
* 💙 Code Style: Prettier with pre-commit git hook
* ⏰ Date Manipulation : LinguiJS/dayjs
> TailwindCSS for the layout and general look-and-feel, Styled Component to customise Ant components
## Meeting 2020-09-15
course information 2020-09-15
full program
- nusery 1.5 y
- pre k 2.5 year
- k1
- k2
- k3
After School (allow internal/external school) 14.30 + 1 hr until 17:00
- duration 1 hr
- multiple subject [chinese, english, etc.] look like Yoga course
- process on normal day
- pre paid
- base min 20 Hr., min 10Hr, promotion 30 Hr.
- Maximum 8 person per class (4-8)
- Audit cross check between student and teacher teaching
- in/out time class logs
holiday (sathurday) seem like summer
- chiness 2 hr
- fix schedule by week (2-3 week)
- After School
Course Type
- After School
- Summer