A comprehensive academic management platform designed to help students track their academic progress, manage semesters, monitor attendance, and analyze performance with beautiful, modern UI.
- Semester Management: Create and organize academic semesters
- Subject Tracking: Add subjects with credits and grades
- Grade Calculation: Automatic SGPA/CGPA computation
- Attendance Monitoring: Track class attendance with percentage calculations
- Marks Management: Record exam scores with weightage system
- Performance Analytics: Comprehensive charts and insights
- Modern Design: Beautiful, responsive UI with shadcn/ui components
- Dark/Light Mode: Theme switching capability
- Mobile-First: Optimized for all device sizes
- Accessibility: ARIA labels and keyboard navigation
- Smooth Animations: Fluid transitions and micro-interactions
- Real-time Updates: Instant data synchronization
- Data Import/Export: JSON-based data portability
- Authentication: Secure user management with Supabase Auth
- Responsive Design: Fluid typography and spacing
- Type Safety: Full TypeScript implementation
- File upload and sharing system
- Document organization and search
- Study material management
- Peer collaboration tools
- Study groups and communities
- Peer performance comparison
- Achievement system and leaderboards
- Collaborative study sessions
- Grade prediction algorithms
- Personalized study recommendations
- Attendance pattern analysis
- Performance optimization tips
- Multi-user support (teachers/students)
- Class management and bulk operations
- Advanced reporting and analytics
- LMS integrations
- Node.js 18+
- npm or yarn
- Supabase account
-
Clone the repository
git clone https://github.com/your-username/UNI-TEL.git cd UNI-TEL -
Install dependencies
npm install # or yarn install -
Environment Setup
cp .env.example .env.local
Add your Supabase credentials:
VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_key
-
Database Setup
# Run the migration in your Supabase dashboard # Copy the SQL from supabase/migrations/20250827194740_9e5b13e5-435d-4c91-8fe6-a28d520bf2c0.sql
-
Start Development Server
npm run dev # or yarn dev -
Open in Browser
http://localhost:5173
UNI-TEL/
βββ public/ # Static assets
βββ src/
β βββ components/ # React components
β β βββ academic/ # Academic-specific components
β β βββ auth/ # Authentication components
β β βββ layout/ # Layout components
β β βββ ui/ # Reusable UI components
β βββ hooks/ # Custom React hooks
β βββ integrations/ # External service integrations
β β βββ supabase/ # Supabase client and types
β βββ lib/ # Utility libraries
β βββ pages/ # Page components
β βββ services/ # API services
β βββ utils/ # Helper functions
βββ supabase/ # Supabase configuration
β βββ functions/ # Edge functions
β βββ migrations/ # Database migrations
βββ package.json
βββ tailwind.config.ts
βββ tsconfig.json
βββ vite.config.ts
- User profile information
- College and role management
- Avatar and personal details
- Academic semester tracking
- SGPA calculation and storage
- Credit hour management
- Subject/course information
- Grade and credit tracking
- Semester relationships
- Class attendance tracking
- Percentage calculations
- Subject-specific records
- Exam and test scores
- Weightage system
- Performance tracking
- Row Level Security (RLS): User data isolation
- Automatic Calculations: SGPA/CGPA computation
- Data Validation: Grade and credit constraints
- Audit Trails: Created/updated timestamps
- Primary: Academic blue (
hsl(217, 91%, 60%)) - Success: Academic green (
hsl(142, 76%, 36%)) - Warning: Academic orange (
hsl(38, 92%, 50%)) - Danger: Academic red (
hsl(0, 84%, 60%))
- Font Family: Inter (headings), System fonts (body)
- Responsive Scale: Fluid typography with clamp()
- Accessibility: WCAG 2.1 AA compliant
- Cards: Academic-themed with gradients
- Buttons: Touch-friendly with proper sizing
- Forms: Mobile-optimized inputs
- Charts: Interactive data visualization
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
# Code Quality
npm run lint # Run ESLint
npm run type-check # TypeScript type checking
# Database
npm run db:reset # Reset database (if configured)- ESLint: Configured with TypeScript and React rules
- Prettier: Code formatting (recommended)
- TypeScript: Strict mode enabled
- Conventional Commits: Recommended commit format
# Add testing framework (recommended)
npm install --save-dev vitest @testing-library/react- Service Worker: Offline functionality (planned)
- App Manifest: Installable on mobile devices
- Responsive Design: Mobile-first approach
- Touch Optimization: Proper touch targets (44px minimum)
- Swipe Gestures: Navigation and interactions
- Pull-to-Refresh: Data synchronization
- Offline Support: Local data caching (planned)
- Supabase Auth: Secure user management
- JWT Tokens: Stateless authentication
- Session Management: Automatic token refresh
- Row Level Security: Database-level access control
- Input Validation: Client and server-side validation
- XSS Protection: Sanitized user inputs
- CSRF Protection: Request validation
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod# Production
VITE_SUPABASE_URL=your_production_url
VITE_SUPABASE_PUBLISHABLE_KEY=your_production_key- Code Splitting: Automatic route-based splitting
- Tree Shaking: Unused code elimination
- Asset Optimization: Image and font optimization
- Bundle Analysis: Size monitoring
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- First Input Delay: < 100ms
- Lazy Loading: Route and component splitting
- Memoization: React.memo and useMemo
- Virtual Scrolling: Large list optimization
- Image Optimization: WebP format and lazy loading
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Code Style: Follow existing patterns
- TypeScript: Maintain type safety
- Testing: Add tests for new features
- Documentation: Update README for significant changes
- Use GitHub Issues for bug reports
- Provide detailed reproduction steps
- Include browser and device information
- Add screenshots for UI issues
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui: Beautiful component library
- Supabase: Backend-as-a-Service platform
- React: Frontend framework
- Tailwind CSS: Utility-first CSS framework
- Lucide React: Icon library
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@uni-tel.com
- Core academic management
- User authentication
- Basic analytics
- Error handling improvements
- Settings page completion
- Knowledge Hub implementation
- Advanced search functionality
- Activity tracking system
- Mobile app (PWA)
- AI-powered insights
- Predictive analytics
- Smart recommendations
- Performance optimization
- Multi-user support
- Enterprise features
- API access
- Third-party integrations
Made with β€οΈ for students worldwide
UNI-TEL - Empowering academic success through technology