A comprehensive 360-degree feedback platform built with React, TypeScript, and Tailwind CSS. This application enables organizations to conduct structured feedback assessments with multiple question types, progress tracking, and detailed reporting.
- Multi-Organization Support - Manage multiple organizations with role-based access
- User Management - Create and manage users with different roles (Super Admin, Employee, Reviewer)
- Assessment Builder - Create custom assessments with sections and various question types
- Question Types - Support for rating scales, multiple choice, yes/no, and text responses
- Progress Tracking - Real-time progress monitoring for assessment completion
- Results & Analytics - Comprehensive reporting with side-by-side comparisons
- Super Admin - Full system access, organization management
- Employee - Complete self-assessments, view personal results
- Reviewer - Complete assessments for assigned employees
- Section-Based Structure - Organize questions into logical sections
- Multiple Question Types - Rating scales (1-10), multiple choice, yes/no, text responses
- Custom Rating Scales - Configurable scale maximums (2-10)
- Required/Optional Questions - Flexible question requirements
- Progress Tracking - Section and overall completion tracking
- Draft & Published States - Control assessment availability
- Frontend: React 18, TypeScript, Tailwind CSS
- State Management: Zustand
- Routing: React Router v6
- Forms: React Hook Form with Zod validation
- Icons: Lucide React
- Charts: Recharts
- Database: Supabase (PostgreSQL)
- Build Tool: Vite
-
Clone the repository
git clone <repository-url> cd 360-feedback-platform
-
Install dependencies
npm install
-
Environment Setup
cp .env.example .env
Update
.envwith your Supabase credentials:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Database Setup
- Create a new Supabase project
- Run the migration files in
/supabase/migrations/in order - Enable Row Level Security (RLS) policies
-
Start Development Server
npm run dev
npm run buildnpm run preview- Connect your repository to Netlify
- Set build command:
npm run build - Set publish directory:
dist - Add environment variables in Netlify dashboard
- Connect your repository to Vercel
- Set build command:
npm run build - Set output directory:
dist - Add environment variables in Vercel dashboard
The application includes a demo mode that works without Supabase configuration:
- Default User: Super Admin with demo organization access
- Mock Data: Pre-populated organizations, users, and assessments
- Full Functionality: All features work with in-memory data
- Assessment Flow: Complete assessment creation, publishing, and completion workflow
- Login with demo credentials or create a new account
- Create Organization (Super Admin only)
- Add Users to your organization
- Build Assessments with custom sections and questions
- Publish Assessments to make them available to users
- Complete Assessments as employee or reviewer
- View Results with detailed analytics and comparisons
- Create - Build assessment structure with sections
- Design - Add questions with various types and configurations
- Publish - Assign to organizations and make available
- Complete - Users fill out their assigned assessments
- Analyze - Review results with side-by-side comparisons
- Rating Scale: 1-N scale (configurable maximum)
- Multiple Choice: Custom options with optional values
- Yes/No: Simple binary choice
- Text Response: Free-form text input
- Super Admin: Full system access, organization management
- Employee: Self-assessment completion, personal results viewing
- Reviewer: Assessment completion for assigned employees
The application uses a comprehensive design system with:
- Color Palette: Primary, secondary, accent, success, warning, error
- Typography: Inter font family with consistent sizing
- Spacing: 8px grid system
- Components: Reusable UI components with consistent styling
- Animations: Smooth transitions and micro-interactions
- Row Level Security (RLS): Database-level access control
- Role-Based Access: Different permissions for each user role
- Data Isolation: Organizations can only access their own data
- Input Validation: Client and server-side validation
- Secure Authentication: Supabase Auth integration
- Code Splitting: Automatic chunking for optimal loading
- Lazy Loading: Components loaded on demand
- Optimized Builds: Minified and compressed production builds
- Caching: Efficient state management and data caching
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Check the documentation
- Review existing issues
- Create a new issue with detailed information
Built with ❤️ using React, TypeScript, and Tailwind CSS