A modern, comprehensive Enterprise Resource Planning system built for higher education institutions. PEC streamlines student information, academics, campus operations, and more in a single, unified platform with AI-powered features.
PEC is a web-based ERP designed to replace fragmented legacy systems with an intuitive interface serving students, faculty, administrators, and recruiters. The platform provides role-based dashboards, comprehensive academic management, campus operations, AI chatbots, and real-time communication. Every feature is carefully crafted with proper authentication, real-time data synchronization, and an exceptional user experience.
- Course Catalog - Browse and manage courses with detailed descriptions, prerequisites, and learning outcomes
- Course Materials - Centralized repository for notes, past papers, study materials, and resources
- Syllabus Management - Upload and view course syllabi with topic breakdowns
- Course Analytics - Track completion rates, student engagement, and performance metrics
- Multi-Department Support - Organize courses by departments with faculty assignments
- Personalized Schedules - View customized timetables based on enrolled courses
- Conflict Detection - Automatic detection of scheduling conflicts
- Faculty Scheduling - Create and publish timetables with room assignments
- Calendar Integration - Export to Google Calendar, Outlook, and iCal formats
- Multi-View Support - Day, week, and month views with color-coded classes
- QR Code Scanning - Quick attendance marking via QR codes
- Manual Attendance - Traditional roll-call interface for faculty
- Real-Time Updates - Instant sync across student and faculty dashboards
- Attendance Analytics - View attendance percentages, trends, and alerts
- Absence Tracking - Monitor student absences with notifications
- Export Reports - Generate attendance reports in PDF and Excel formats
- Exam Scheduling - Create exam schedules with date, time, and venue details
- Seating Arrangements - Automated seating allocation with conflict prevention
- Result Analytics - Class performance analysis with statistical insights
- Transcript Generation - Auto-generate official transcripts with institutional branding
- Issue Reporting - Report maintenance, amenities, and safety issues with photo attachments
- Priority Categorization - Low, medium, high, and urgent priority levels
- Status Tracking - Track issue resolution from reported to resolved
- Issue Timeline - View complete issue history with timestamps
- Room Allocation - Manage room assignments and transfers
- Hostel Analytics - Dashboard for issue trends and resolution times
- Food Menu - Browse complete menu with images, descriptions, and prices
- Online Ordering - Place orders with delivery time and location preferences
- Order Tracking - Real-time order status (Received, Preparing, Ready, Delivered)
- Payment Integration - Pay online or cash on delivery
- Order History - View past orders with reorder functionality
- Menu Management - Admin interface for menu updates and pricing
- 3D Campus Navigation - Interactive 3D map of campus buildings and facilities using Three.js
- Building Information - Detailed building info with departments and facilities
- Route Planning - Get directions between campus locations
- Facility Locator - Find classrooms, labs, cafeterias, and amenities
- Road and Path Drawing - Custom road layouts with multi-segment support
- Accessibility Features - Mark wheelchair-accessible routes and elevators
- Facility Booking - Book seminar halls, conference rooms, and labs
- Availability Calendar - View real-time room availability
- Conflict Prevention - Automatic detection of booking conflicts
- Approval Workflow - Request and approve bookings with notifications
- Recurring Bookings - Schedule weekly or monthly recurring events
- Resource Management - Track projectors, equipment, and furniture
- Department Chat Groups - Auto-created groups for departments and semesters
- Direct Messaging - One-on-one conversations with students and faculty
- Group Information - View group members, descriptions, and admins
- Message Search - Full-text search across all conversations
- Media Sharing - Share images, documents, and files
- Read Receipts - See when messages are delivered and read
- Typing Indicators - Real-time typing status
- Message Reactions - React to messages with emojis
- Pin Important Messages - Pin announcements and important info
- Group Admin Controls - Manage members, settings, and permissions
- Real-Time Alerts - Instant notifications for assignments, exams, and announcements
- Push Notifications - Browser push notifications for important updates
- Email Digests - Daily or weekly email summaries
- Notification Center - View all notifications in one place
- Custom Preferences - Control notification types and delivery methods
- Priority Notifications - Critical alerts with special highlighting
- Read/Unread Tracking - Mark notifications as read or archive them
- College-Wide Announcements - Broadcast messages to all users
- Department Announcements - Target messages to specific departments
- Role-Based Announcements - Send to students, faculty, or specific roles
- Scheduled Publishing - Schedule announcements for future dates
- Attachment Support - Include documents, images, and links
- Analytics - Track announcement reach and engagement
- Personal Information - Edit contact details, emergency contacts, and addresses
- Academic History - View courses, grades, and academic progress
- Document Uploads - Upload ID proofs, certificates, and documents
- Transcript Downloads - Generate and download official transcripts
- Privacy Settings - Control profile visibility and data sharing
- Profile Completeness - Track profile completion with suggestions
- Interactive Resume Builder - Drag-and-drop resume creator with professional templates
- Real-Time Preview - Live preview while editing with instant updates
- Multi-Format Export - Download as PDF, DOCX, or plain text
- AI Resume Analyzer - Get AI-powered feedback on content, formatting, and ATS compatibility
- Keyword Optimization - Suggestions for industry-specific keywords
- Version History - Save and manage multiple resume versions
- ATS Score - Check resume compatibility with Applicant Tracking Systems
- Comprehensive Documentation - Help articles covering getting started, account management, academics, and settings
- Feature Discovery - Guided help for navigating platform features
- FAQ Section - Common questions with detailed answers
- Troubleshooting Guides - Step-by-step solutions for common issues
- In-App Assistance - Context-sensitive help throughout the application
- Complete User Lifecycle - Create, edit, disable, and delete user accounts
- Role Assignment - Assign roles: Super Admin, College Admin, Faculty, Student, Placement Officer, Recruiter
- Bulk User Import - Import users from CSV/Excel files with validation
- Password Management - Reset passwords and enforce password policies
- User Search - Advanced search by name, email, role, or department
- User Analytics - Track user activity, login frequency, and engagement
- Account Status - Enable, disable, or suspend accounts
- Create Departments - Add departments with names, codes, and descriptions
- Department Heads - Assign and manage department heads
- Enrollment Tracking - Monitor student and faculty counts
- Department Statistics - View course offerings and performance
- Budget Allocation - Track department budgets and expenses
- Inter-Department Coordination - Share resources and collaborate
- Faculty Profiles - Comprehensive profiles with qualifications, specializations, and experience
- Course Assignments - Assign courses to faculty with workload tracking
- Teaching Schedule - View complete teaching timetables
- Performance Metrics - Track student feedback, course completion, and engagement
- Research & Publications - Record research papers, publications, and conferences
- College Logo Upload - Upload institutional logo with preview
- Branding Configuration - Set college name, tagline, and colors
- Contact Information - Configure email, phone, website, and address
- Academic Calendar - Set semester dates, holidays, and exam schedules
- System Policies - Configure attendance requirements and rules
- Theme Customization - Set default theme and accent colors
- General Settings - Configure system-wide parameters
- Integration Settings - Set up third-party integrations
- Email Configuration - SMTP settings for email notifications
- Storage Settings - Configure file storage limits and allowed formats
- Security Settings - Password policies, session timeouts, and 2FA
- Backup & Recovery - Automated backup schedules and restore options
- System Health Dashboard - Monitor server status, database health, and API uptime
- Performance Metrics - Track page load times, API response times, and errors
- User Activity Logs - Complete audit trail of user actions
- Error Tracking - Real-time error monitoring and alerts
- Analytics Dashboard - User engagement, feature usage, and trends
- Capacity Planning - Monitor storage, bandwidth, and resource usage
-
Landing Chatbot - Pre-login assistance for prospective students and visitors
- Answer questions about admissions, courses, and facilities
- Provide campus tour information
- Share contact details and application procedures
- Powered by Google Gemini 2.5 Flash
-
Saathi (Student Assistant) - Post-login personalized assistant
- Answer academic queries and course information
- Help with navigation and feature discovery
- Contextual assistance based on user role
- Multi-language support
- Voice input and output capabilities
- Content Analysis - Evaluate resume content quality and completeness
- ATS Compatibility Check - Score resume for Applicant Tracking Systems
- Keyword Recommendations - Suggest industry-relevant keywords
- Format Optimization - Identify formatting issues and improvements
- Section Completeness - Check for missing critical sections
- Personalized Feedback - Actionable suggestions for improvement
- Benchmark Scoring - Compare against successful resumes in the field
- Dark/Light Modes - Toggle between dark and light themes with system preference detection
- Accent Colors - Multiple preset themes with custom color options
- Font Size Scaling - Size levels for accessibility
- Responsive Design - Mobile, tablet, and desktop optimized layouts
- Smooth Animations - Framer Motion for modern interactions
- Accessibility - Keyboard navigation, screen reader support
- Google Translate Integration - Auto-translate content to 100+ languages
- Language Persistence - Remember language preference across sessions
- RTL Language Support - Right-to-left layout support
- Global Search - Search across courses, users, announcements, and documents
- Advanced Filters - Filter by department, date, type, and relevance
- Search History - View recent searches with quick access
- Suggested Results - Auto-complete and search suggestions
- Multiple Roles: Super Admin, College Admin, Faculty, Student, Placement Officer, Recruiter
- Granular Permissions: Fine-grained access control
- Dynamic UI: Features and menus adapt based on user role
- Protected Routes: Automatic redirects for unauthorized access
- Real-Time Validation: Permission checks at component and API level
- Audit Trail: Log all permission-based actions
- PostgreSQL + REST API - Relational backend with role-aware endpoints
- Live Notifications - Push notifications via backend notification services
- Optimistic UI - Instant feedback with background sync
- Offline Support - Local caching with automatic sync on reconnection
- Batch Operations - Multiple updates in single atomic transactions
- Change Listeners - Real-time listeners for chat, notifications, and updates
- Mobile-First Approach - Touch-optimized for all devices
- Breakpoints:
- Mobile: 320px - 767px
- Tablet: 768px - 1024px
- Desktop: 1025px - 1440px
- Large Desktop: 1441px+
- Accessibility Features:
- Semantic HTML and ARIA labels
- Keyboard navigation support
- Screen reader compatibility
- High contrast modes
- Focus indicators
| Category | Technology | Purpose |
|---|---|---|
| Framework | Next.js 15 + React 19 | Modern App Router with Server Components |
| Language | TypeScript | Type safety throughout |
| Styling | Tailwind CSS | Utility-first CSS framework |
| UI Components | shadcn/ui + Radix UI | Pre-built accessible components |
| Routing | Next.js App Router | File-based routing with layouts |
| Backend | NestJS + Prisma + PostgreSQL | API, authentication, and data access |
| Storage | Cloud media storage | File and media storage |
| AI/ML | Google Gemini 2.5 Flash | AI chatbot and content generation |
| Icons | Lucide React + Tabler Icons | SVG icons |
| Animations | Framer Motion + GSAP | Smooth UI animations and transitions |
| State Management | React Hooks + Context + TanStack Query | Data fetching and state management |
| Form Handling | React Hook Form + Zod | Form validation and management |
| Charts | Recharts | Data visualization and analytics |
| PDF Generation | jsPDF + jsPDF-AutoTable | Document and receipt generation |
| QR Codes | qrcode.react + html5-qrcode | QR generation and scanning |
| 3D Graphics | Three.js | 3D campus map and visualizations |
pec-app-new/
βββ app/ # Next.js 15 App Router
β βββ (protected)/ # Protected routes (requires auth)
β β βββ admin/ # Admin settings pages
β β β βββ canteen/ # Canteen management
β β β βββ college-settings/ # College branding
β β β βββ hostel/ # Hostel admin
β β β βββ payment-settings/ # Payment configuration
β β βββ attendance/ # Attendance tracking
β β βββ campus-map/ # Interactive 3D campus map
β β βββ canteen/ # Night canteen ordering
β β βββ chat/ # WhatsApp-grade messaging
β β βββ college/ # College management
β β β βββ admissions/ # Admission workflows
β β β βββ fee-setup/ # Fee configuration
β β β βββ financial-report/ # Financial reports
β β β βββ reports/ # Analytics reports
β β β βββ schedule/ # Academic scheduling
β β βββ course-materials/ # Course resources
β β βββ courses/ # Course management
β β β βββ [id]/ # Course detail
β β β βββ add/ # Add course
β β βββ dashboard/ # Role-based dashboards
β β β βββ dashboards/ # Dashboard components
β β β βββ AdminDashboard.tsx
β β β βββ CollegeAdminDashboard.tsx
β β β βββ FacultyDashboard.tsx
β β β βββ PlacementOfficerDashboard.tsx
β β β βββ RecruiterDashboard.tsx
β β β βββ StudentDashboard.tsx
β β β βββ SuperAdminDashboard.tsx
β β βββ departments/ # Department management
β β βββ examinations/ # Exam management
β β βββ faculty/ # Faculty management
β β βββ help/ # Help & documentation
β β β βββ academics/ # Academic help
β β β βββ account-profile/ # Account help
β β β βββ getting-started/ # Getting started guide
β β β βββ settings-privacy/ # Privacy help
β β βββ hostel-issues/ # Hostel issue tracking
β β βββ notifications/ # Notification center
β β βββ profile/ # User profile
β β βββ resume-builder/ # Resume builder with AI
β β βββ search/ # Global search
β β βββ settings/ # User settings
β β βββ timetable/ # Timetable management
β β βββ users/ # User management
β βββ api/ # API routes
β β βββ openai/ # OpenAI integration
β βββ auth/ # Authentication pages
β βββ demo-dashboard/ # Demo dashboard
β βββ layout.tsx # Root layout
β βββ page.tsx # Landing page
β βββ providers.tsx # Context providers
βββ public/ # Static assets
β βββ fonts/ # Custom fonts
β βββ images/ # Static images
βββ src/ # Shared utilities and components
β βββ assets/ # Images and media
β βββ chat/ # Chat components
β βββ components/ # Reusable UI components
β β βββ layout/ # Layout components
β β βββ ui/ # shadcn/ui components
β βββ config/ # App configuration
β βββ features/ # Feature modules
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utilities and helpers
β βββ types/ # TypeScript types
β βββ utils/ # Utility functions
βββ server/ # NestJS Backend
β βββ prisma/ # Database schema
β β βββ schema.prisma # Prisma schema
β βββ src/ # Backend source
β β βββ attendance/ # Attendance module
β β βββ auth/ # Authentication
β β βββ chat/ # Chat system
β β βββ common/ # Shared utilities
β β βββ config/ # Configuration
β β βββ courses/ # Courses module
β β βββ departments/ # Department module
β β βββ enrollments/ # Enrollment module
β β βββ examinations/ # Examinations module
β β βββ timetable/ # Timetable module
β β βββ users/ # User management
β β βββ main.ts # Entry point
β β βββ app.module.ts # Root module
β βββ seed.ts # Database seeding
βββ .agents/ # Agent skills and configuration
βββ docs/ # Documentation
β βββ ARCHITECTURE.md # Architecture documentation
β βββ DEVELOPMENT.md # Development guide
β βββ FEATURES.md # Features documentation
β βββ QUICK_REFERENCE.md # Quick reference
βββ archive/ # Archived features
βββ tools/ # Utility scripts
βββ next.config.mjs # Next.js configuration
βββ tailwind.config.ts # Tailwind configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies
**Total Components**: 200+ React components
**Total Lines of Code**: 60,000+ (estimated)
- Node.js v18 or higher
- npm or bun package manager
- PostgreSQL database
- Google Gemini API key (for AI features)
# Clone the repository
git clone <repository-url>
cd pec-app-new
# Install dependencies
npm install
# Set up environment variables
# Create .env.local file with:
NEXT_PUBLIC_API_URL=http://localhost:3000
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB_NAME
# Set up backend
cd server
npm install
# Configure backend .env
cp .env.example .env
# Edit .env with your database credentials
# Run database migrations
npm run prisma:migrate
npm run seed
# Start development servers
npm run dev # Start Next.js frontend
npm run api # Start backend API (from server folder)
# or
npm run dev:all # Run both concurrently# Frontend
npm run dev # Start dev server (port 3000)
npm run build # Production build
npm run lint # Run ESLint
# Backend
cd server
npm run start:dev # Start NestJS dev server
npm run build # Production build
npm run prisma:migrate # Run migrations
npm run seed # Seed database
# Docker
npm run dev:docker # All services
npm run dev:docker:backend # Only Postgres + backend
npm run dev:docker:frontend # Only frontend
npm run prod:docker # Production deploymentCreate .env.local for frontend:
# API Configuration
NEXT_PUBLIC_API_URL=http://localhost:3000
# AI Services
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
# Storage (if using cloud storage)
NEXT_PUBLIC_STORAGE_CLOUD_NAME=your_cloud_name
NEXT_PUBLIC_STORAGE_PRESET=your_upload_presetCreate server/.env for backend:
# Database
DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/DB_NAME
# Authentication
JWT_SECRET=your_jwt_secret
# Server
PORT=3000{
id: string; // Auto-generated UUID
email: string; // User email (unique)
name: string; // Full name
role: UserRole; // User role enum
departmentId?: string; // Department reference
photoURL?: string; // Profile photo URL
phone?: string; // Contact number
createdAt: Date; // Account creation date
lastLogin?: Date; // Last login timestamp
isActive: boolean; // Account status
}{
id: string;
name: string;
code: string; // Course code (e.g., CS101)
departmentId: string; // Department reference
credits: number; // Credit hours
semester: number; // Semester number
year: number; // Academic year
facultyId: string; // Faculty reference
syllabus?: string; // Syllabus document URL
description?: string; // Course description
organizationId: string; // Organization reference
createdAt: Date;
updatedAt: Date;
}{
id: string;
courseId: string; // Course reference
date: Date; // Attendance date
markedBy: string; // Faculty ID who marked
records: AttendanceRecord[]; // Student attendance records
qrCode?: string; // QR code for quick marking
organizationId: string;
createdAt: Date;
}{
id: string;
type: 'group' | 'direct';
name?: string; // For groups
description?: string;
participants: string[]; // User IDs
admins: string[]; // Group admin IDs
organizationId: string;
departmentId?: string; // For department groups
createdAt: Date;
lastMessage?: Message;
}{
id: string;
roomId: string; // Chat room reference
senderId: string; // User ID
text: string;
attachments?: Attachment[];
replyTo?: string; // Message ID being replied to
reactions?: Record<string, string[]>; // Emoji to user IDs
readBy: string[]; // User IDs who read
createdAt: Date;
}departments- Academic departmentsenrollments- Student course enrollmentsexaminations- Exam schedules and resultsnotifications- User notificationshostelIssues- Hostel issue trackingtimetables- Schedule managementcollegeSettings- Institutional brandingusers- User accounts and profiles
- β View courses, materials, and syllabus
- β Track attendance and view grades
- β Access timetable and examinations
- β Report hostel issues
- β Order from canteen
- β Build and analyze resumes
- β Chat with peers and faculty
- β Receive real-time notifications
- β Customize theme and preferences
- β Create and manage courses
- β Upload course materials and syllabus
- β Mark attendance (QR code or manual)
- β Schedule exams
- β View student performance and analytics
- β Manage timetables
- β Chat with students and colleagues
- β Manage departments and faculty
- β Configure fee structures
- β View financial reports and analytics
- β Manage hostel and canteen operations
- β Configure payment gateways
- β Monitor system health
- β Access all reports and analytics
- β Configure college branding and settings
- β Post jobs and recruitment drives
- β Review and shortlist candidates
- β Schedule interviews
- β Track placement statistics
- β Manage recruiter accounts
- β Generate placement reports
- β Post job openings
- β Search and discover candidates
- β View student profiles and resumes
- β Shortlist and schedule interviews
- β Track hiring pipeline
- β System-wide configuration
- β User management across all orgs
- β Access all administrative features
- β Configure integrations
- β Monitor system health and logs
- Email/Password - Secure JWT-based authentication
- Session Management - Auto-logout on token expiration
- Password Recovery - Email-based password reset
- 2FA - Two-factor authentication (planned)
- Role-Based Access Control (RBAC) - Granular permission system
- API Guards - Backend-level access control
- Data Encryption - HTTPS in transit
- Input Validation - Zod schema validation on all forms
- XSS Protection - Sanitized user inputs
- Audit Logs - Complete user activity tracking
- Environment Variables - Secure API key management
- Mobile Native Apps - iOS and Android apps
- Advanced Analytics Dashboard - Custom dashboards with widgets
- Video Conferencing - Built-in video calls
- AI Teaching Assistant - AI-powered doubt solving
- Parent Portal - Parent dashboard for monitoring
- LMS Integration - Google Classroom, Moodle integration
- Calendar Sync - Two-way sync with calendars
- SMS Notifications - SMS alerts for critical updates
- Digital ID Cards - QR-based student/faculty ID cards
- Blockchain Transcripts - Tamper-proof academic records
- Predictive Analytics - Student success prediction
- Gamification - Badges, leaderboards, and rewards
- Code Splitting - Route-based lazy loading
- Tree Shaking - Eliminate unused code in production
- Image Optimization - Responsive images with lazy loading
- CSS Optimization - Tailwind CSS with PurgeCSS
- CDN Delivery - Static assets via CDN
- Indexed Queries - Optimized SQL queries and indexes
- Virtual Scrolling - For large lists and tables
- Debounced Search - Reduce API calls on search inputs
- First Contentful Paint (FCP): < 1.5s
- Largest Contentful Paint (LCP): < 2.5s
- Time to Interactive (TTI): < 3.5s
- Cumulative Layout Shift (CLS): < 0.1
- Lighthouse Score: 90+
- β Chrome/Edge (latest 2 versions)
- β Firefox (latest 2 versions)
- β Safari (latest 2 versions)
- β Chrome Mobile (latest)
- β Safari iOS (latest)
- β Desktop (Windows, macOS, Linux)
- β Tablets (iPad, Android tablets)
- β Mobile phones (iOS 13+, Android 8+)
- β Touch and mouse support
- β Responsive layouts for all screen sizes
Contributions are welcome! Please follow these guidelines:
- 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
- Use TypeScript for all new files
- Follow existing code structure and naming conventions
- Write meaningful commit messages
- Ensure no linting errors
- Test your changes thoroughly
All rights reserved Β© 2026. Proprietary software.
For help and support:
- In-App Help: Access the Help & Support section
- Documentation: See
docs/FEATURES.mdanddocs/ARCHITECTURE.md - Email: Contact your institution's support team
- β 60,000+ Lines of Code - Comprehensive feature-rich platform
- β 8 Role-Specific Dashboards - Complete RBAC implementation
- β 200+ Components - Extensive UI coverage
- β Real-Time Sync - Instant updates across all clients
- β Mobile-Responsive - Works seamlessly on all devices
- β AI-Powered - Dual chatbots with Google Gemini
- β 3D Campus Map - Interactive campus navigation
- β WhatsApp-Grade Chat - Professional messaging system
- docs/FEATURES.md - Comprehensive feature documentation
- docs/ARCHITECTURE.md - Technical architecture deep dive
- docs/QUICK_REFERENCE.md - Quick reference guide
- docs/DEVELOPMENT.md - Development setup guide
Built with β€οΈ for educational institutions
Version: 2.0.0
Last Updated: March 2026
Maintainers: PEC Development Team