# 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