diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..bb7829e3 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,220 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Unity ERP Context + +**This app is part of Unity ERP** - a comprehensive educational institution management system serving schools with complete student lifecycle management. + +**📖 For complete Unity business context, see:** `UNITY_CONTEXT.md` in this directory. + +### App Role in Unity Ecosystem +**education** is the **foundational core module** that provides the base educational DocTypes and workflows that Unity ERP extends. This app establishes the fundamental data models and processes that all other Unity educational modules build upon. + +### Cross-Module Dependencies +- **edu_quality**: Extends and customizes core education DocTypes with Unity-specific functionality +- **walnut_hrms**: Teacher and instructor management integration +- **erpnext**: Accounting integration for fee collection and financial management +- **frappe**: Core framework providing the foundation for all DocType definitions + +### Educational Domain Impact +This app provides the **foundational data model** for Unity ERP's educational functionality: +1. **Core DocTypes**: Student, Guardian, Program, Course, Assessment Group +2. **Base Workflows**: Student lifecycle, program enrollment, fee structure +3. **Academic Structure**: Programs, courses, topics, academic years +4. **Assessment Framework**: Base assessment and grading systems +5. **ERPNext Integration**: Student as party type for accounting integration + +## Overview + +**education** is the core foundation module that provides essential DocTypes and workflows for educational institution management within Unity ERP. It establishes the fundamental data models and processes that all Unity educational functionality builds upon. + +## Architecture + +### Core Data Models + +1. **Student Management** + - `Student` - Core student records with personal details, guardians, address + - `Student Applicant` - Application workflow management + - `Guardian` - Parent/guardian information and relationships + - `Student Group` - Batch/class organization + - `Student Admission` - Web-based admission process + +2. **Academic Structure** + - `Program` - Degree/certification programs + - `Course` - Individual subjects within programs + - `Topic` - Content organization within courses + - `Academic Year/Term` - Time-based organization + - `Program Enrollment` - Student-program relationships + +3. **Fee Management** + - `Fee Structure` - Template for fee components + - `Fee Schedule` - Fee due dates and scheduling + - `Fees` - Individual fee records per student + - `Fee Category` - Classification of different fee types + +4. **Assessment System** + - `Assessment Plan` - Scheduled assessments + - `Assessment Group` - Hierarchical assessment organization + - `Assessment Result` - Individual student results + - `Assessment Criteria` - Grading standards + - `Grading Scale` - Grade boundaries and classifications + +5. **Content and Learning** + - `Article` - Text-based content + - `Video` - Video content integration + - `Quiz` - Interactive assessments + - `Question` - Quiz question bank + - `Course Activity` - Learning activities + - `Topic Content` - Structured content delivery + +6. **Scheduling and Attendance** + - `Course Schedule` - Class timetables + - `Student Attendance` - Attendance tracking + - `Room` - Physical classroom management + - `Instructor` - Teacher/faculty management + +## Key Commands + +### Development +```bash +# Start development server +bench start + +# Build app +bench build --app education + +# Install app on site +bench --site [site_name] install-app education +``` + +### Testing +```bash +# Run app tests +bench --site [site_name] run-tests --app education + +# Run specific test modules +bench --site [site_name] run-tests --module education.tests.test_student +``` + +### Database Operations +```bash +# Apply migrations +bench --site [site_name] migrate + +# Access database console +bench --site [site_name] mariadb +``` + +## Key Integration Points + +### ERPNext Integration +- **Student as Party Type**: Integrates with ERPNext accounting for fee collection +- **Department Linkage**: Connects with organizational structure +- **Payment Integration**: Fee collection linked to payment entries + +### Website Integration +- **Student Portals**: Fee payments and admission access +- **Public Admission Forms**: Web-based application process +- **Website Generators**: Automated admission page creation + +### Framework Integration +- **Calendar Integration**: Course schedules appear in Frappe calendar +- **Tree View**: Assessment groups organized hierarchically +- **Global Search**: All education DocTypes searchable +- **Role-based Access**: Student role with portal permissions + +## Development Patterns + +### Student Lifecycle Pattern +``` +Student Applicant → Student → Program Enrollment → Fee Generation → Assessment → Graduation +``` + +### Academic Structure Pattern +``` +Program → Course → Topic → Topic Content → Assessment Plan → Assessment Result +``` + +### Fee Management Pattern +``` +Fee Structure → Fee Schedule → Fee Generation → Payment Collection → Accounting Integration +``` + +## Tools and Utilities + +### Bulk Operations +- **Course Scheduling Tool**: Automated timetable generation +- **Student Attendance Tool**: Bulk attendance marking +- **Program Enrollment Tool**: Batch enrollment processing +- **Assessment Result Tool**: Bulk result entry + +### Reporting +- **Fee Collection Reports**: Program-wise, student-wise analysis +- **Attendance Reports**: Monthly sheets, absent student tracking +- **Assessment Reports**: Course-wise, final grades +- **Student Contact Details**: Guardian and emergency contacts + +### Portal Features +- **Student Portal**: Fees and admission access +- **Guardian Portal**: Student information access +- **Public Forms**: Admission workflow integration + +## Extensibility Points + +### Custom App Integration +The education app is designed as a foundation for custom apps to extend: +- **DocType Overrides**: Custom business logic in child apps +- **Hook System**: Event-driven customizations +- **Custom Fields**: Institution-specific data requirements +- **API Extensions**: External system integrations + +### Installation Features +- Creates "Student" party type for accounting integration +- Sets up "Student" role with portal access +- Creates parent assessment group structure +- Configures default permissions and workflows + +## Migration History + +### Major Changes +- **v14.0**: LMS functionality moved to separate "Frappe LMS" app +- **Enhanced Student Party Type**: Better accounting integration +- **Assessment Group Structure**: Improved hierarchical organization +- **Student Name Handling**: Better name field management + +## Dependencies + +### Required Apps +- **ERPNext**: Core business application framework +- **Frappe**: Underlying web framework + +### Optional Integrations +- **Frappe LMS**: Learning Management System (separate app) +- **HRMS**: Teacher and staff management +- **Accounting**: Fee collection and financial reporting + +## Performance Considerations + +### Database Design +- **Efficient Indexing**: Core fields indexed for fast queries +- **Hierarchical Structure**: Tree-based organization for scalability +- **Bulk Operations**: Optimized for large student populations + +### Web Performance +- **Portal Optimization**: Student-specific data filtering +- **Website Caching**: Public admission forms cached +- **Search Performance**: Full-text search across education content + +## Security and Permissions + +### Role-Based Access +- **Student Role**: Portal access with restricted permissions +- **Instructor Role**: Course and assessment management +- **Academic User**: Full academic operations access +- **Administrator**: Complete system access + +### Data Protection +- **Student Data Privacy**: Restricted access to personal information +- **Guardian Information**: Secure parent/guardian data handling +- **Assessment Security**: Protected grade and result data \ No newline at end of file diff --git a/UNITY_CONTEXT.md b/UNITY_CONTEXT.md new file mode 100644 index 00000000..243b7665 --- /dev/null +++ b/UNITY_CONTEXT.md @@ -0,0 +1,266 @@ +# UNITY_CONTEXT.md + +This file provides Unity ERP business context for Claude Code when working with any app in this repository. + +## Unity ERP Overview + +Unity ERP is a comprehensive educational institution management system serving schools with complete student lifecycle management, from lead generation through alumni tracking. Built on the Frappe framework, Unity addresses the unique challenges of educational institutions with specialized workflows, compliance requirements, and multi-stakeholder environments. + +## Core Business Architecture + +### Educational Institution Complexities + +Educational institutions operate fundamentally differently from businesses: +- **Academic Calendar Driven**: All operations align with academic years, terms, and sessions +- **Multi-Stakeholder Environment**: Students, parents, teachers, administration, and regulatory bodies +- **Lifecycle-Based Operations**: Students progress through predictable stages requiring different services +- **Compliance Heavy**: RTE, CBSE, state education boards, child protection regulations +- **Relationship-Centric**: Long-term relationships spanning multiple years and family members + +### Student Lifecycle Flow + +**Lead Generation → Student Applicant → Student → Program Enrollment → Alumni** + +1. **Lead Management**: Marketing and inquiry tracking through multiple channels +2. **Admission Process**: Application, document verification, assessment, selection +3. **Student Onboarding**: Enrollment, fee structure assignment, account creation +4. **Academic Journey**: Curriculum delivery, assessment, progress tracking +5. **Graduation/Transfer**: Certification, alumni management, record preservation + +## Educational Domain Modules + +### 1. Student Lifecycle Management + +#### CRM & Lead Management +- **WhatsApp Bot Integration**: Automated lead qualification and information gathering +- **Visual Workflow Builder**: Customizable funnel management for different admission streams +- **Multi-Channel Tracking**: Website, social media, referrals, walk-ins +- **Lead Scoring**: Qualification based on admission probability and fit + +#### Admissions Module +- **Document Management**: Birth certificates, previous school records, medical certificates +- **Assessment Integration**: Entrance tests, interviews, portfolio reviews +- **Capacity Management**: Class-wise seat allocation and waiting list management +- **Regulatory Compliance**: Age verification, domicile requirements, quota management + +#### Student Management +- **Comprehensive Profiles**: Academic, health, behavioral, family information +- **Multi-Entity Support**: Students transferring between branches/schools +- **Status Management**: Academic (enrolled, promoted, detained), Financial (current, defaulter), Behavioral (good standing, disciplinary) +- **Lifecycle Tracking**: Complete journey from inquiry to alumni + +### 2. Academic Delivery + +#### Curriculum Map™ +- **Standards Alignment**: State boards, CBSE, ICSE, international curricula +- **Scope and Sequence**: Chapter-wise, unit-wise planning with timing +- **Teacher Assignment**: Subject expertise mapping and workload distribution +- **Resource Management**: Textbooks, supplementary materials, digital resources + +#### Learning Management System (LMS) +- **Content Delivery**: Video lessons, interactive content, assignments +- **Assessment Tools**: Quizzes, assignments, projects, presentations +- **Progress Tracking**: Learning analytics, engagement metrics, intervention triggers +- **Parent Visibility**: Home learning support, progress monitoring + +#### Assessment & Examination +- **Multiple Methodologies**: Formative, summative, portfolio, project-based +- **Age-Appropriate Tools**: Play-based for kindergarten, competitive for seniors +- **Grading Systems**: Marks, grades, descriptive feedback, skill-based assessment +- **Report Cards**: Comprehensive academic and behavioral reporting + +### 3. Financial Management + +#### Fee Management +- **Complex Structures**: Academic fees, transport, meals, activities, deposits +- **Multi-Entity Splitting**: Trust fees, school fees, transport vendor fees +- **Scholarship Integration**: Merit-based, need-based, government schemes +- **Payment Flexibility**: Installments, advance payments, emergency assistance + +#### Accounting Integration +- **Educational Accounting**: Different from business accounting (fund accounting) +- **Regulatory Reporting**: Trust requirements, audit compliance, tax obligations +- **Budget Management**: Academic year budgeting, capital expenditure planning + +### 4. Human Resources + +#### Educational HR Specialization +- **Academic Roles**: Teachers, coordinators, principals, counselors +- **Certification Tracking**: Teaching licenses, subject expertise, continuing education +- **Performance Management**: Academic delivery, student outcomes, parent satisfaction +- **Specialized Payroll**: Academic calendar alignment, summer break management + +### 5. Communication & Engagement + +#### Multi-Channel Communication +- **WhatsApp Business**: Parent-teacher communication, notices, emergency alerts +- **Mobile Apps**: Parent portal, student portal, teacher tools +- **Traditional Channels**: Email, SMS, phone calls, physical notices +- **Emergency Communication**: Crisis management, immediate alerts + +#### Parent Engagement +- **Progress Sharing**: Academic updates, behavioral reports, achievement celebrations +- **Participation Opportunities**: Events, volunteer activities, feedback sessions +- **Digital Access**: Anytime access to student information, school updates + +## Integration Architecture + +### External Integrations + +#### Google Workspace for Education +- **Account Management**: Automated student and staff account provisioning +- **Classroom Integration**: Google Classroom, Drive, Meet for virtual learning +- **Calendar Synchronization**: Academic calendar, events, parent-teacher meetings +- **Document Collaboration**: Shared resources, collaborative projects + +#### Payment Gateway Diversity +- **Multiple Options**: Different gateways for different fee types and amounts +- **Payment Splitting**: Automatic distribution to different entities/accounts +- **Reconciliation**: Automated matching with fee records and accounting entries +- **Parent Convenience**: Saved payment methods, installment automation + +#### Communication Platforms +- **WhatsApp Business API**: Rich messaging, media sharing, automated responses +- **SMS Integration**: Backup communication, delivery confirmations +- **Email Systems**: Professional communication, document attachments + +### Frontend Architecture + +#### Multi-Portal System +- **Parent Portal (Walsh)**: Student information, fee payments, communication +- **Administrative Portal (WalnutMGR)**: Data management, reporting, configuration +- **UI Component Library**: Consistent user experience across all interfaces + +#### Mobile-First Design +- **Parent App**: Primary interface for most parent interactions +- **Offline Capability**: Essential features work without internet +- **Push Notifications**: Real-time updates and emergency communications + +## Key Business Workflows + +### Cross-Module Workflows + +#### Student Admission Process +1. **Lead Capture** (CRM) → **Application** (Admissions) → **Assessment** (Academics) +2. **Selection** (Admissions) → **Enrollment** (Student Management) → **Fee Assignment** (Fees) +3. **Account Creation** (Google Integration) → **Parent Onboarding** (Communication) + +#### Academic Rollover (Year-End Processing) +1. **Academic Results** (Assessment) → **Promotion Decision** (Student Management) +2. **Class Assignment** (Student Management) → **Fee Structure Update** (Fees) +3. **Timetable Generation** (Academics) → **Teacher Assignment** (HR) + +#### Fee Collection Cycle +1. **Fee Generation** (Fees) → **Payment Reminders** (Communication) +2. **Payment Processing** (Payment Gateways) → **Receipt Generation** (Accounting) +3. **Defaulter Management** (Fees) → **Access Control** (Student Management) + +### Multi-Entity Operations + +#### Shared Services +- **Centralized Admissions**: Multiple schools using common admission process +- **Staff Mobility**: Teachers working across multiple entities +- **Resource Sharing**: Curriculum, training materials, best practices +- **Consolidated Reporting**: Chain-level analytics and compliance + +#### Entity-Specific Operations +- **Local Compliance**: State-specific requirements, local regulations +- **Cultural Adaptation**: Regional festivals, local language support +- **Fee Structures**: Economic conditions, local competition + +## Educational Domain Considerations + +### Regulatory Compliance + +#### Right to Education (RTE) Act +- **Free Education**: Automated fee exemption for eligible students +- **Admission Quotas**: 25% reservation tracking and management +- **Age Requirements**: Automatic age verification and appropriate class placement +- **Documentation**: Compliance reporting and audit trails + +#### Board Requirements (CBSE, State Boards) +- **Student Records**: Comprehensive academic and personal information +- **Assessment Standards**: Board-specific grading and evaluation methods +- **Teacher Qualifications**: Certification and experience tracking +- **Infrastructure Compliance**: Facility and resource requirements + +### Data Protection & Privacy + +#### Minor Data Protection +- **Parent Consent**: All data collection requires guardian approval +- **Limited Access**: Role-based access with minimal necessary information +- **Data Retention**: Educational record retention as per regulations +- **Anonymization**: Research and analytics with protected identities + +#### Stakeholder Privacy +- **Staff Information**: Professional boundaries and privacy protection +- **Family Information**: Confidential family circumstances and challenges +- **Academic Records**: Protection of academic performance and behavioral records + +## Development Patterns + +### Educational Domain Patterns + +#### Student-Centric Design +- **Single Student View**: All information accessible from student profile +- **Family Relationships**: Sibling connections, guardian relationships +- **Historical Tracking**: Complete academic journey preservation +- **Future Planning**: Academic pathway and career guidance integration + +#### Academic Calendar Integration +- **Time-Bounded Operations**: All processes respect academic calendar +- **Seasonal Workflows**: Different processes for admission season, examination period +- **Holiday Awareness**: No critical operations during student holidays +- **Year-End Processing**: Comprehensive rollover and preparation procedures + +#### Multi-Stakeholder Experience +- **Role-Based Interfaces**: Different experiences for parents, teachers, administrators +- **Communication Preferences**: Stakeholder-specific channels and timing +- **Access Controls**: Information sharing based on relationships and permissions +- **Feedback Loops**: Continuous improvement based on stakeholder input + +### Technical Architecture Patterns + +#### Multi-Entity Data Isolation +- **Tenant Separation**: Complete data isolation between entities +- **Shared Services**: Common functionality with entity-specific configuration +- **Cross-Entity Operations**: Controlled data sharing for transfers and shared services + +#### Educational Workflow Automation +- **Lifecycle Triggers**: Automatic processes based on student lifecycle events +- **Compliance Automation**: Regulatory requirement fulfillment without manual intervention +- **Communication Automation**: Proactive stakeholder communication + +#### Integration Resilience +- **Graceful Degradation**: Essential functions continue during integration failures +- **Data Synchronization**: Eventual consistency with immediate local operations +- **Audit Trails**: Complete operational history for compliance and troubleshooting + +## Security & Compliance Framework + +### Access Control +- **Principle of Least Privilege**: Minimum necessary access for role fulfillment +- **Time-Based Access**: Academic year and term-based permissions +- **Relationship-Based Access**: Parent access to their children's information only +- **Professional Boundaries**: Teacher access limited to their students and subjects + +### Audit & Compliance +- **Complete Audit Trails**: All operations logged with user, time, and purpose +- **Regulatory Reporting**: Automated generation of compliance reports +- **Data Integrity**: Checksums and validation for critical educational records +- **Emergency Procedures**: Crisis management and data protection protocols + +## Performance & Scale Considerations + +### Educational Institution Scale +- **Student Population**: 500-5000 students per entity +- **Staff Size**: 50-500 employees depending on institution size +- **Parent Engagement**: High interaction during specific periods (admission, results, events) +- **Seasonal Load**: Peak usage during admission season, examination periods + +### Performance Patterns +- **Academic Calendar Peaks**: Admission season, result declaration, fee collection +- **Daily Patterns**: Morning attendance, afternoon parent communication, evening homework +- **Communication Bursts**: Emergency notifications, result announcements, event reminders + +This comprehensive business context provides the foundation for understanding Unity ERP's educational domain focus and architectural decisions. All technical implementations should consider these business requirements and stakeholder needs. \ No newline at end of file