Skip to content
@e-letter

E - Letter Software

E-Letter Organization πŸ“

Complete school permission letter management system across web, desktop, and mobile platforms with modern interfaces, seamless user experience, and comprehensive letter tracking.

Website Desktop Mobile

πŸ“Š Platform Overview

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

🎯 About E-Letter

E-Letter is a comprehensive school permission letter management system designed to streamline managing student permission requests across multiple platforms.

Core Capabilities

  • 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

Permission Types

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

🌐 Web Application

A modern, interactive web application for managing school permission letters with beautiful UI and seamless user experience.

Next.js TypeScript Tailwind CSS MariaDB

Web Features

  • 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

Web Quick Start

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

Web Tech Stack

  • 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

Web Database Architecture

The database uses 5 logical sections:

  1. Reference Tables - Roles, majors, classes, permission types
  2. User Management - Users, profiles, authentication tokens
  3. Permission System - Requests, approval stages, approval logs
  4. Supporting Data - Dispensations, attachments, letter sequences
  5. Audit & Logging - Login logs, system audit trails

Key tables: users, permission_requests, approval_stages, permission_approval_logs, dispensation_students

πŸ‘‰ View Web Project | Documentation


πŸ–₯️ Desktop Application

A powerful desktop application for managing school permission letters with modern WPF interface and seamless user experience.

.NET Framework WPF C#

Desktop Features

  • 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

Desktop Quick Start

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)

Desktop Tech Stack

  • 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

Desktop Supported Views

  • 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


πŸ“± Mobile Application

A powerful Android application for managing school permission letters with native mobile interface and seamless user experience.

Android Java Material Design

Mobile Features

  • 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

Mobile Quick Start

git clone https://github.com/e-letter/e-letter-android.git
cd e-letter-android
start .
# File > Sync Now
# Run > Run 'app'

Mobile Tech Stack

  • 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

Mobile Key Screens

  • 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


πŸ”„ User Workflows

Student Workflow

Register/Login
    ↓
Select Permission Type
    ↓
Fill Permission Form
    ↓
Submit Request
    ↓
Track Approval Status
    ↓
Receive Approval/Rejection

Available on: 🌐 Web | πŸ–₯️ Desktop | πŸ“± Mobile

Teacher Workflow

Login
    ↓
View Pending Requests
    ↓
Review Student Information
    ↓
Approve/Reject/Request Info
    ↓
Add Comments & Signatures
    ↓
Notify Student of Decision

Available on: 🌐 Web | πŸ–₯️ Desktop | πŸ“± Mobile

Administrator Workflow

Login
    ↓
Manage Users
    ↓
Configure Workflows
    ↓
View System Reports
    ↓
Monitor Audit Logs
    ↓
Maintain Settings

Available on: 🌐 Web | πŸ–₯️ Desktop


πŸ” Security & Authentication

Common Security Features

  • 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

Platform-Specific Security

Feature Web Desktop Mobile
JWT Authentication βœ… βœ… -
Refresh Tokens βœ… βœ… -
Local Session Storage βœ… βœ… -
HTTPS Only βœ… - -
Encrypted Preferences - - -

User Role Hierarchy

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

πŸ“Š Features Comparison

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 βœ… βœ… βœ…

🎨 Design System

All platforms follow a consistent, modern design language.

Color Palette

Permission Type Primary Color Gradient
Entry (Izin Masuk) Purple #C471ED β†’ #F64F59
Exit (Izin Keluar) Orange #FDC830 β†’ #F37335
Dispensation Blue #2193b0 β†’ #6dd5ed

Typography

  • Body Text: Nunito (Web), System (Desktop/Mobile)
  • Headings: Quicksand (Web), Segoe UI (Desktop), Roboto (Mobile)

Component Patterns

  • 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

πŸ“š Getting Started

Choose Your Platform

🌐 Building the Web App?

Go to e-letter-web

πŸ–₯️ Building the Desktop App?

Go to e-letter-desktop

πŸ“± Building the Mobile App?

Go to e-letter-android

Development Workflow

  1. Choose a repository above
  2. Clone the repository
  3. Install dependencies
  4. Configure environment
  5. Run development server
  6. Start contributing!

🀝 Contributing

Contributions are welcome across all platforms! Please follow these guidelines:

  1. Fork the repository of your choice
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Make your changes following code style guidelines
  4. Test thoroughly on your target platform
  5. Commit with clear, descriptive messages
  6. Push to your fork
  7. Open a Pull Request

Code Style Guidelines

TypeScript/React (Web)

  • Use TypeScript for type safety
  • Follow existing component patterns
  • Use Tailwind CSS utilities
  • Add comments for complex logic

C# (Desktop)

  • Use PascalCase for classes and methods
  • Keep methods small and focused
  • Add meaningful comments
  • Follow existing UI patterns

Java (Mobile)

  • Use consistent naming conventions
  • Add proper error handling
  • Follow Material Design principles
  • Document complex logic

πŸ“„ License

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

🏒 Organization Structure

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

πŸ™ Acknowledgments

Built With

Web

Desktop

Mobile

Special Thanks

  • The open-source community for amazing tools and libraries
  • All contributors and supporters of the E-Letter project

πŸ“ž Support & Links

🌐 Web App Β· πŸ–₯️ Desktop App Β· πŸ“± Mobile App

Report Bug Β· Request Feature Β· Discussions


Simplifying school permission letter management across all platforms

Pinned Loading

  1. .github .github Public

  2. e-letter-app e-letter-app Public

    TypeScript

Repositories

Showing 2 of 2 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…