{"id":49071221,"url":"https://github.com/0745vipno-png/approval-workflow-system","last_synced_at":"2026-04-20T07:33:36.401Z","repository":{"id":351551972,"uuid":"1211445983","full_name":"0745vipno-png/approval-workflow-system","owner":"0745vipno-png","description":"Full-stack approval workflow system built with React, TypeScript, Node.js, and role-based multi-stage approval process.","archived":false,"fork":false,"pushed_at":"2026-04-15T13:03:40.000Z","size":362,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T14:36:43.193Z","etag":null,"topics":["approval-system","dashboard","fullstack","internal-tools","nodejs","react","rest-api","role-based-access-control","state-management","typescript","vite","webapp","workflow"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0745vipno-png.png","metadata":{"files":{"readme":"docs/README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T12:00:10.000Z","updated_at":"2026-04-15T13:03:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/0745vipno-png/approval-workflow-system","commit_stats":null,"previous_names":["0745vipno-png/approval-workflow-system"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/0745vipno-png/approval-workflow-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0745vipno-png%2Fapproval-workflow-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0745vipno-png%2Fapproval-workflow-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0745vipno-png%2Fapproval-workflow-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0745vipno-png%2Fapproval-workflow-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0745vipno-png","download_url":"https://codeload.github.com/0745vipno-png/approval-workflow-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0745vipno-png%2Fapproval-workflow-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32037876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["approval-system","dashboard","fullstack","internal-tools","nodejs","react","rest-api","role-based-access-control","state-management","typescript","vite","webapp","workflow"],"created_at":"2026-04-20T07:33:35.704Z","updated_at":"2026-04-20T07:33:36.390Z","avatar_url":"https://github.com/0745vipno-png.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"==================================================\nApproval Workflow System\n==================================================\n\nA modern full-stack internal approval platform for managing leave requests,\nreimbursements, overtime applications, and multi-stage approval processes.\n\nBuilt with a modular frontend/backend architecture and designed for real\nbusiness workflows.\n\n==================================================\nFEATURES\n==================================================\n\n[Core Workflow]\n\n- Create approval requests\n- Save draft requests\n- Edit returned requests\n- Submit requests into workflow\n- View request history\n- Track request status\n- View approval timeline\n- Upload attachments\n\n\n[Multi-Role Approval Process]\n\nRequester\n- Create and manage requests\n- Edit drafts / returned items\n- Track progress\n- Review own history\n\nManager\n- Review pending requests\n- Approve requests\n- Return requests for revision\n- Reject requests\n- View request details\n\nHR\n- Final review process\n- Approve / reject requests\n- Handle HR queue\n- Review completed cases\n\nAdmin\n- Dashboard overview\n- User management\n- Department management\n- Role assignment\n- Manager mapping\n- System data administration\n\n\n==================================================\nLATEST PROJECT STATUS\n==================================================\n\n[Completed Modules]\n\nFrontend\n- Login page\n- Role-based routing\n- Request pages\n- Manager pages\n- HR pages\n- Admin pages\n- i18n language switch (Chinese / English)\n- Responsive UI components\n- Global state management\n\nBackend\n- RESTful API structure\n- Modular route/controller/service architecture\n- Authentication API\n- Request APIs\n- Admin APIs\n- Clean folder organization\n\nAdmin APIs Completed\n- /api/admin/dashboard\n- /api/admin/users\n- /api/admin/departments\n- /api/admin/manager-mappings\n\n\n==================================================\nTECH STACK\n==================================================\n\nFrontend\n- React\n- TypeScript\n- Vite\n- React Router\n- Zustand\n- TanStack Query\n\nBackend\n- Node.js\n- Express\n- TypeScript\n- REST API\n\nNext Phase\n- Database persistence layer\n- Prisma ORM / SQL integration\n- JWT authentication\n- Toast notifications\n- Validation improvements\n\n\n==================================================\nSYSTEM ROLES\n==================================================\n\nRequester : Submit and track requests\nManager   : First-stage approver\nHR        : Final reviewer\nAdmin     : System administrator\n\n\n==================================================\nPROJECT STRUCTURE\n==================================================\n\n[Frontend]\n\nfrontend/src\n├─ components\n├─ pages\n├─ routes\n├─ layouts\n├─ store\n├─ constants\n├─ lib\n├─ types\n└─ styles\n\n\n[Backend]\n\nbackend/src\n├─ controllers\n├─ routes\n├─ modules\n│  └─ admin\n│     ├─ users\n│     ├─ departments\n│     ├─ manager-mappings\n│     └─ dashboard\n├─ services\n├─ repositories\n└─ utils\n\n\n==================================================\nGETTING STARTED\n==================================================\n\nInstall Dependencies\nnpm install\n\nRun Frontend\nnpm run dev\n\nRun Backend\nnpm run dev\n\n\n==================================================\nDEMO ACCOUNTS\n==================================================\n\nrequester / 1234\nmanager   / 1234\nhr        / 1234\nadmin     / 1234\n\n\n==================================================\nROADMAP\n==================================================\n\nIn Progress\n- Database migration\n- Persistent data storage\n\nPlanned\n- JWT auth\n- Audit logs\n- Export reports\n- Notification system\n- Better UI feedback\n- Deployment\n\n\n==================================================\nLICENSE\n==================================================\n\nLicensed under the GNU Affero General Public License v3.0 (AGPL-3.0)\n\n⚠️ **Important Note for Developers \u0026 Companies:**\n\nUnlike the standard GPL, the **AGPL-3.0** requires that if you modify this \n\nsystem and run it as a web service (SaaS), you **MUST** make your modified \n\nsource code available to your users. \n\nThis ensures that any improvements made to this Approval System remain \n\nopen-source for the community.\n\n==================================================\nCONTRIBUTING\n==================================================\n\nIssues, pull requests, and suggestions are welcome.\n\n==================================================\nDISCLAIMER\n==================================================\n\nThis project is provided \"as is\", without warranty of any kind.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0745vipno-png%2Fapproval-workflow-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0745vipno-png%2Fapproval-workflow-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0745vipno-png%2Fapproval-workflow-system/lists"}