📝 Authorization Notice: This project is published with the explicit authorization and approval of Shanghai Runlan Filtration Equipment Co., Ltd. (上海润岚过滤设备有限公司). All code and documentation are shared for educational and portfolio purposes.
Role
Full-Stack Developer & System Architect
Objective
Designed and developed a comprehensive enterprise-grade attendance management system with frontend-backend separation architecture. The system provides complete solutions for employee clock-in/out, leave requests, business trips, overtime applications, approval workflows, and statistical reporting. This project demonstrates proficiency in full-stack development, system architecture design, RESTful API development, database design, authentication & authorization, and production deployment.
System Architecture
The system adopts a modern three-tier architecture with clear separation of concerns:
- Frontend Layer: Vue 3 with Composition API, TypeScript for type safety, Element Plus for UI components, Pinia for state management
- Backend Layer: Fastify framework for high-performance RESTful API, TypeScript for type safety, layered architecture (routes → controllers → services → repositories)
- Data Layer: MySQL 8.x database with Prisma ORM for type-safe database access and migrations
Key Features & Technical Highlights
1. Authentication & Authorization System
- Implemented JWT-based authentication with secure token management
- Role-Based Access Control (RBAC) with four roles: Employee, Manager, HR, Admin
- Middleware-based route protection ensuring secure API endpoints
- Password encryption using bcrypt with salt rounds
2. RESTful API Design & Implementation
- Designed comprehensive RESTful API endpoints following REST principles
- Request validation using Zod schema validation library
- Structured error handling with consistent error response format
- API documentation with Postman collection for testing
3. Database Design & Data Modeling
- Designed normalized database schema with Prisma Schema Language
- Implemented complex relationships: one-to-many, many-to-many with proper foreign keys
- Organization-level data isolation using org_id for multi-tenant support
- Database migrations and seed data management
4. Frontend Development
- Component-based architecture with reusable Vue 3 components
- Type-safe development with TypeScript throughout the frontend
- State management with Pinia stores for user authentication and application state
- Responsive UI design with Element Plus component library
- Axios interceptors for request/response handling and error management
5. Business Logic Implementation
- Clock-in/out module with GPS location verification
- Multi-type request system: leave, business trip, punch correction, overtime
- Approval workflow with duration modification and comments
- Statistical reporting with work hours calculation and attendance analytics
- User management with CRUD operations and role assignment
Technologies
Frontend
Vue 3, TypeScript, Vite, Element Plus, Vue Router, Pinia, Axios
Backend
Node.js ≥ 20, Fastify, TypeScript, Prisma ORM, MySQL 8.x, Zod, JWT, bcrypt
DevOps & Deployment
Vercel (Frontend), Render (Backend), Aiven MySQL, GitHub Actions, Environment Configuration
My Contributions
- Architected the entire system with frontend-backend separation and layered backend design
- Designed and implemented RESTful API endpoints with proper HTTP methods and status codes
- Developed database schema with Prisma, including relationships, indexes, and constraints
- Implemented authentication middleware and JWT token management system
- Built role-based access control system with permission checks at API and UI levels
- Developed frontend components with Vue 3 Composition API and TypeScript
- Implemented complex business logic including approval workflows and statistical calculations
- Configured and deployed application to production environments (Vercel, Render)
- Wrote comprehensive documentation including API documentation, deployment guides, and user guides
Results
- Successfully deployed production-ready system serving real enterprise users
- Achieved type safety across the entire stack with TypeScript and Prisma
- Implemented scalable architecture supporting multiple organizations and roles
- Delivered comprehensive feature set covering all attendance management requirements
- Demonstrated proficiency in modern software engineering practices and tools
GitHub Repository
View GitHub Repository