Back to Projects

Enterprise Attendance Management System

2024 - 2025 Category: Software Development

📝 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