SM-ARGO is a comprehensive full-stack skill assessment and management system designed for organizations to track, assess, and improve employee skills. The system provides role-based workflows for HR, Team Leads, and Employees with automated assessment cycles, audit trails, and scheduling capabilities.
- Role-based access control (HR, Team Lead, Employee)
- Skill matrix management with assessment criteria
- Automated assessment workflows with multiple review cycles
- Audit trails and history tracking for all assessment activities
- Automated scheduling with cron-based task management
- OAuth2 and legacy authentication support
- Initiate assessments for employees or team leads
- Bulk assessment creation for teams or departments
- HR review and final approval of assessments
- Assessment cycle management with automated scheduling
- Comprehensive audit tracking and reporting
- Team and user management capabilities
- Write assessments for team members
- Team assessment overview with statistics and filtering
- Assessment history management and review cycles
- Skill gap analysis and team performance tracking
- Assessment scheduling and progress monitoring
- Review and respond to assessments from team leads
- Approve or reject assessments with comments
- Assessment history tracking and personal skill progress
- Skill upgrade recommendations and learning paths
- Performance dashboard with skill progress visualization
- Initiation - HR initiates assessment for employee
- Team Lead Assessment - Lead writes detailed skill assessments
- Employee Review - Employee reviews, approves/rejects with feedback
- HR Final Review - HR makes final approval decision
- Audit & History - Complete trail of all actions and decisions
- Automated Scheduling - Cron-based recurring assessments
- Node.js with TypeScript
- Hapi.js web framework
- TypeORM for database management
- PostgreSQL database
- OAuth2 authentication with Microsoft Azure AD
- Cron scheduling for automated tasks
- Comprehensive audit logging
- React 18 with TypeScript
- Vite build tool
- Redux Toolkit for state management
- React Router for navigation
- Tailwind CSS for styling
- Shadcn/ui component library
- Responsive design with mobile support
SM-ARGO/
├── backend/
│ ├── controllers/ # API request handlers
│ ├── services/ # Business logic layer
│ ├── entities/ # Database entity definitions
│ ├── routes/ # API route definitions
│ ├── middlewares/ # Authentication & authorization
│ ├── config/ # Database and app configuration
│ ├── data/ # Seed data and fixtures
│ ├── types/ # TypeScript type definitions
│ └── enum/ # Enumeration constants
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── assessment/ # Assessment-related components
│ │ │ ├── auth/ # Authentication components
│ │ │ ├── dashboard/ # Role-based dashboards
│ │ │ ├── layout/ # Layout and navigation
│ │ │ ├── team/ # Team management
│ │ │ └── ui/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API service layer
│ │ ├── store/ # Redux store configuration
│ │ ├── types/ # TypeScript type definitions
│ │ └── utils/ # Utility functions
│ └── dist/ # Built production files
└── README.md
- Node.js (v18 or higher)
- PostgreSQL database
- npm or yarn package manager
-
Install dependencies:
cd backend npm install -
Configure environment:
- Copy
.env.exampleto.env - Configure database connection
- Set up OAuth2 credentials (optional)
- Copy
-
Database setup:
npm run reset-db # Reset and seed database npm run seed # Seed with sample data
-
Start development server:
npm run dev
-
Install dependencies:
cd frontend npm install -
Start development server:
npm run dev
-
Build for production:
npm run build
- Navigate to HR Assessment Management
- Click "Initiate New Assessment"
- Select target employee and skills
- Set scheduling preferences
- Add assessment comments
- Submit to start the workflow
- Use the Assessment Cycles tab
- View all active and completed cycles
- Perform HR reviews and final approvals
- Track assessment progress and statistics
- Go to Team Assessment page
- View team overview and statistics
- Click "Write Assessment" for team members
- Complete skill evaluations with scores and comments
- Submit for employee review
- Use All Assessments tab for complete history
- Filter by status, employee, or date range
- View detailed assessment history and cycles
- Track team skill development over time
- Access My Assessments page
- View pending assessments requiring review
- Read team lead evaluations and scores
- Approve with agreement or reject with feedback
- Track personal assessment history
- Use Skill Upgrade Guide for learning recommendations
- View personal skill matrix and progress
- Access upgrade resources and learning paths
- Set skill development goals
POST /api/assessments/initiate- HR initiates assessmentPOST /api/assessments/bulk-initiate- Bulk assessment creationPOST /api/assessments/write- Team lead writes assessmentPOST /api/assessments/review- Employee reviews assessmentPOST /api/assessments/hr-review- HR final reviewGET /api/assessments/history- Assessment history with audit trailsGET /api/assessments/user/{userId}- User-specific assessmentsGET /api/assessments/team/{teamId}- Team assessmentsGET /api/assessments/statistics- Assessment statistics
GET /api/users/profile- User profile informationGET /api/users/team- Team member listingPUT /api/users/profile- Update profile
GET /api/skills- Available skillsGET /api/skills/upgrade-guide- Skill upgrade recommendationsGET /api/skills/matrix- Skill matrix data
- Microsoft Azure AD integration
- Automatic user provisioning
- Role-based access control
- Secure token management
- Username/password fallback
- Session management
- Password security policies
- Role-based route protection
- API endpoint security
- Data access controls
- Audit logging for all actions
- TypeScript strict mode enabled
- ESLint and Prettier configuration
- Comprehensive error handling
- Detailed logging and monitoring
- Component testing with React Testing Library
- API endpoint testing
- Type safety validation
- Error boundary testing
- Production build optimization
- Environment-specific configuration
- Database migration scripts
- Health check endpoints
- Fork the repository
- Create feature branch:
git checkout -b feature/your-feature - Commit changes:
git commit -am 'Add your feature' - Push to branch:
git push origin feature/your-feature - Submit pull request
- Check browser console for frontend errors
- Review backend logs for API issues
- Verify database connectivity
- Confirm OAuth2 configuration
- Enable database query optimization
- Use React lazy loading for large components
- Implement API response caching
- Optimize bundle size with code splitting
- Application performance monitoring
- Error tracking and reporting
- User activity analytics
- System health monitoring
This project is proprietary software developed for internal organizational use.
- ✅ Complete assessment workflow implementation
- ✅ Role-based navigation and access control
- ✅ Automated assessment scheduling with cron jobs
- ✅ Comprehensive audit trails and history tracking
- ✅ Team Lead assessment writing capabilities
- ✅ Employee assessment review and approval workflow
- ✅ HR assessment management and final approval
- ✅ Skill upgrade guide integration with proper error handling
- ✅ TypeScript type safety and build optimization
- ✅ Responsive UI with modern component design
- ✅ Assessment statistics and progress tracking
- ✅ Bulk assessment creation for teams
- ✅ Assessment cycle management
- ✅ Complete frontend-backend integration
- Basic skill matrix functionality
- User authentication and authorization
- Profile management
- Team overview capabilities
- Skill criteria management
Built with ❤️ for modern skill assessment and team development