Automated Task & Schedule Management for Operations and Maintenance
A modern web application designed for the National Irrigation Administration to streamline employee task tracking, deadline management, and automated email reminders.
- 📅 Schedule Management - Create recurring tasks with flexible deadlines (daily, weekly, monthly, custom)
- 👥 Employee Management - Maintain team records and assign tasks efficiently
- ✅ Task Tracking - Period-based completion tracking with visual indicators
- 📧 Smart Reminders - Automated email notifications before deadlines
- 📊 Calendar Integration - Visual schedule overview with intuitive interface
- 📈 Reporting & Analytics - Generate comprehensive reports on task completion
- 📋 Data Export - Export employees, schedules, and reports to Excel
- ⚡ Performance Optimized - Intelligent caching system for fast data access
- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Firebase Admin SDK
- Database: Firebase Firestore
- Authentication: Firebase Auth (Email/Password + Passwordless)
- Email: Nodemailer with Gmail SMTP
- Deployment: Vercel
- Node.js 18+
- Firebase project with Firestore and Authentication enabled
- Gmail account for SMTP (or alternative email service)
-
Clone the repository
git clone https://github.com/your-org/nia-reminder.git cd nia-reminder -
Install dependencies
npm install
-
Environment Setup
cp .env.example .env # Configure your Firebase and email credentials -
Run development server
npm run dev
- Create a Firebase project
- Enable Firestore and Authentication
- Add your Firebase config to
.env - Set up Firestore security rules
Configure SMTP settings in .env for automated reminders:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password- Create and manage employee records
- Set up recurring task schedules
- Configure reminder timing and frequency
- Monitor completion rates and generate reports
- Export data for external analysis
- View assigned tasks and deadlines
- Mark tasks as complete
- Receive automated email reminders
- Track personal completion history
- CSRF Protection - Token-based security for state-changing requests
- Rate Limiting - Prevents abuse and ensures system stability
- Input Validation - Comprehensive data sanitization with Zod schemas
- Secure Authentication - Firebase Auth with session management
- Security Headers - HSTS, CSP, and other protective headers
- Intelligent Caching - In-memory caching for frequently accessed data
- Optimized Queries - Efficient Firestore operations with batching
- Responsive Design - Mobile-first approach with PWA capabilities
- Fast Loading - Next.js optimization with SSR/SSG where appropriate
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
Developed for the National Irrigation Administration - Tambubong, San Rafael, Bulacan
Committed to sustainable irrigation development
Built with ❤️ for efficient operations and maintenance management