Complete school permission letter management system across web, desktop, and mobile platforms with modern interfaces, seamless user experience, and comprehensive letter tracking.
| Platform | Framework | Language | Key Features | Repository |
|---|---|---|---|---|
| π Web | Next.js 16 + Tailwind CSS | TypeScript | Real-time tracking, Multi-stage approval, Beautiful UI | e-letter-web |
| π₯οΈ Desktop | .NET 4.7.2 + WPF | C# | Offline support, Local storage, Native Windows | e-letter-desktop |
| π± Mobile | Android 11+ | Java | Mobile-optimized, Push notifications, Biometric auth | e-letter-android |
E-Letter is a comprehensive school permission letter management system designed to streamline managing student permission requests across multiple platforms.
- Multi-Platform Access - Web, Desktop, and Mobile with unified workflows
- Role-Based Access Control - Students, Teachers, and Administrators with tailored dashboards
- Real-Time Tracking - Live status updates on permission requests (web & mobile)
- Multi-Stage Approval Workflow - Complete letter routing with digital signatures
- Secure Authentication - JWT tokens (web), session-based (desktop/mobile)
- Beautiful Modern UI - Consistent gradient design system across all platforms
- Complete Audit Trail - Comprehensive history and logging of all actions
| Type | Code | Color | Description | Use Case |
|---|---|---|---|---|
| Entry | IM | π΅ Purple | Late arrival or post-absence entry | Student arrives late to school |
| Exit | IK | π Orange | Early departure permission | Student needs to leave early |
| Dispensation | DISP | π‘ Yellow | Special exemptions/exclusions | Medical/family emergencies |
A modern, interactive web application for managing school permission letters with beautiful UI and seamless user experience.
- Gradient Design System - Custom purple, orange, yellow, and blue themes with glassmorphism
- Smooth Animations - Framer Motion powered transitions and micro-interactions
- Responsive Design - Fully responsive across all devices
- Role-Based Dashboards - Student Portal, Teacher Dashboard, Admin Panel
- Real-Time Status Tracking - Live approval progress updates
- Multi-Stage Approval - Complete workflow with audit trails
- Digital Signatures - Canvas-based signature capture
- JWT Authentication - Secure token-based with refresh tokens
- Docker Ready - One-command deployment
git clone https://github.com/e-letter/e-letter-web.git
cd e-letter-web
bun install
cp .env.example .env.local
docker-compose up -d
bun dev- Framework: Next.js 16 (App Router)
- Language: TypeScript 5
- Styling: Tailwind CSS 4 + Framer Motion
- UI Library: shadcn/ui components
- Database: MariaDB 11.5
- Authentication: JWT with access/refresh tokens
- Deployment: Docker & Docker Compose
The database uses 5 logical sections:
- Reference Tables - Roles, majors, classes, permission types
- User Management - Users, profiles, authentication tokens
- Permission System - Requests, approval stages, approval logs
- Supporting Data - Dispensations, attachments, letter sequences
- Audit & Logging - Login logs, system audit trails
Key tables: users, permission_requests, approval_stages, permission_approval_logs, dispensation_students
π View Web Project | Documentation
A powerful desktop application for managing school permission letters with modern WPF interface and seamless user experience.
- Modern WPF Design - Custom gradient themes with smooth transitions
- Intuitive Navigation - Easy-to-use menu system for all user roles
- Professional Styling - WPF-UI framework with custom controls
- Role-Based Access - Student, Teacher, and Administrator portals
- Permission Management - Create, track, and manage all letter types
- Letter Tracking - Real-time status of permission requests
- Comprehensive History - Complete audit trail of all actions
- Local Storage - Secure JSON-based data persistence
- Windows Native - .NET Framework 4.7.2 compatibility
git clone https://github.com/e-letter/e-letter-desktop.git
cd e-letter-desktop
start e-letter.sln
# Build > Build Solution (Ctrl+Shift+B)
# Debug > Start Debugging (F5)- Platform: Windows Desktop (.NET Framework 4.7.2)
- Language: C# 10.0
- UI Framework: WPF (Windows Presentation Foundation)
- UI Library: WPF-UI 4.1
- Serialization: Newtonsoft.Json 13.0.4
- Data Format: JSON with local storage
- Home Screen - Dashboard and navigation menu
- Permission Forms - Create entry and exit letters
- Letter Tracking - View and manage all letters
- Student Registry - Manage student information
- Teacher Registry - Manage teacher information
- Check-in System - Student and teacher attendance tracking
- Dispensation Management - Special permission handling
π View Desktop Project | Documentation
A powerful Android application for managing school permission letters with native mobile interface and seamless user experience.
- Material Design 3 - Modern, intuitive interface optimized for mobile
- Role-Based Access - Student App and Teacher App with different dashboards
- Permission Management - Create, submit, and track letters on-the-go
- Real-Time Notifications - Push notifications for approval status updates
- Offline Support - Basic functionality available without internet
- Biometric Authentication - Support for fingerprint and face recognition
- Letter Tracking - Track submitted letters with real-time status
- Responsive Design - Perfect display on phones and tablets
git clone https://github.com/e-letter/e-letter-android.git
cd e-letter-android
start .
# File > Sync Now
# Run > Run 'app'- Platform: Android 8+
- Language: Java 17+
- UI Framework: Android Jetpack with Material Design 3
- Database: Room Database (local persistence)
- Networking: Retrofit2 for API communication
- Authentication: JWT with SharedPreferences
- Welcome/Login - Authentication with role selection
- Student Dashboard - Home, create letter, view letters, tracking
- Teacher Dashboard - Home, review requests, manage approvals
- Permission Forms - Create letters with form validation
- Letter History - View all submitted letters
- Profile Management - User profile and settings
- Notifications - Real-time approval updates
π View Mobile Project | Documentation
Register/Login
β
Select Permission Type
β
Fill Permission Form
β
Submit Request
β
Track Approval Status
β
Receive Approval/Rejection
Available on: π Web | π₯οΈ Desktop | π± Mobile
Login
β
View Pending Requests
β
Review Student Information
β
Approve/Reject/Request Info
β
Add Comments & Signatures
β
Notify Student of Decision
Available on: π Web | π₯οΈ Desktop | π± Mobile
Login
β
Manage Users
β
Configure Workflows
β
View System Reports
β
Monitor Audit Logs
β
Maintain Settings
Available on: π Web | π₯οΈ Desktop
- Role-Based Access Control - Fine-grained permission management
- Secure Password Storage - bcryptjs hashing (Web), secure storage (Desktop/Mobile)
- Session Management - Secure session creation and tracking
- Audit Logging - Complete history of all actions
- Token-Based Authentication - JWT for web, session tokens for desktop/mobile
| Feature | Web | Desktop | Mobile |
|---|---|---|---|
| JWT Authentication | β | β | - |
| Refresh Tokens | β | β | - |
| Local Session Storage | β | β | - |
| HTTPS Only | β | - | - |
| Encrypted Preferences | - | - | - |
ADMIN
βββ Full system access
βββ Manage users & permissions
βββ View all reports
KEPSEK (Principal)
βββ Final approval authority
βββ View institution statistics
βββ Override approval stages
GURU_KESISWAAN (Discipline Teacher)
βββ Review student requests
βββ Approve/reject letters
βββ Add digital signatures
GURU_MAPEL (Subject Teacher)
βββ Review assigned student requests
βββ Approve/forward to higher role
βββ Manage class activities
SISWA (Student)
βββ Submit permission requests
βββ Track request status
βββ View approval comments
| Feature | Web | Desktop | Mobile |
|---|---|---|---|
| Create Permission Letters | β | β | β |
| Track Letter Status | β | β | β |
| Teacher Review/Approval | β | β | β |
| Admin Management | β | β | - |
| Real-Time Updates | β | - | β |
| Beautiful UI | β | β | β |
| Offline Support | - | β | Partial |
| Mobile Optimized | β | - | β |
| Export Reports | β | β | - |
| Database Persistence | β | β | β |
All platforms follow a consistent, modern design language.
| Permission Type | Primary Color | Gradient |
|---|---|---|
| Entry (Izin Masuk) | Purple | #C471ED β #F64F59 |
| Exit (Izin Keluar) | Orange | #FDC830 β #F37335 |
| Dispensation | Blue | #2193b0 β #6dd5ed |
- Body Text: Nunito (Web), System (Desktop/Mobile)
- Headings: Quicksand (Web), Segoe UI (Desktop), Roboto (Mobile)
- Interactive Cards - Selectable with visual feedback
- Smooth Animations - Framer Motion (Web), WPF (Desktop), Material (Mobile)
- Glassmorphism - Modern backdrop blur effects
- Responsive Layouts - Adapts to all screen sizes
π Building the Web App?
Go to e-letter-web
- Tech: Next.js 16, TypeScript, Tailwind CSS, MariaDB
- Quick Start Guide
π₯οΈ Building the Desktop App?
Go to e-letter-desktop
- Tech: .NET 4.7.2, C#, WPF
- Quick Start Guide
π± Building the Mobile App?
Go to e-letter-android
- Tech: Android, Java, Material Design 3
- Quick Start Guide
- Choose a repository above
- Clone the repository
- Install dependencies
- Configure environment
- Run development server
- Start contributing!
Contributions are welcome across all platforms! Please follow these guidelines:
- Fork the repository of your choice
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Make your changes following code style guidelines
- Test thoroughly on your target platform
- Commit with clear, descriptive messages
- Push to your fork
- Open a Pull Request
- Use TypeScript for type safety
- Follow existing component patterns
- Use Tailwind CSS utilities
- Add comments for complex logic
- Use PascalCase for classes and methods
- Keep methods small and focused
- Add meaningful comments
- Follow existing UI patterns
- Use consistent naming conventions
- Add proper error handling
- Follow Material Design principles
- Document complex logic
Proprietary License - All Rights Reserved
All E-Letter repositories are available for:
- β Viewing and educational purposes
- β Contributing via Pull Requests
- β Internal organizational use
Prohibited without explicit permission:
- β Redistribution
- β Creating derivative works
- β Commercial use
- β Removing copyright notices
E-Letter Organization
β
βββ π e-letter-web (Website)
β βββ Next.js 16 + TypeScript
β βββ Tailwind CSS + shadcn/ui
β βββ MariaDB Database
β βββ Docker Deployment
β
βββ π₯οΈ e-letter-desktop (Windows)
β βββ .NET Framework 4.7.2
β βββ C# with WPF-UI
β βββ Local JSON Storage
β βββ Windows Native
β
βββ π± e-letter-android (Mobile)
βββ Android 11+ (Java)
βββ Material Design 3
βββ Room Database
βββ Mobile Optimized
- Next.js - React framework
- Tailwind CSS - Styling
- Framer Motion - Animations
- shadcn/ui - UI components
- WPF-UI - Modern WPF controls
- Newtonsoft.Json - JSON serialization
- .NET Framework - Runtime
- Android Jetpack - Framework
- Material Design 3 - Design system
- Retrofit2 - Networking
- Room Database - Persistence
- The open-source community for amazing tools and libraries
- All contributors and supporters of the E-Letter project
π Web App Β· π₯οΈ Desktop App Β· π± Mobile App
Report Bug Β· Request Feature Β· Discussions
Simplifying school permission letter management across all platforms