Nisa: Islamic Period Tracking System is a web-based platform designed to help Muslim women manage their monthly period cycles in a Muslim-friendly manner.
It allows adding period details, generating period reports, receiving reminders about istihadha, and accessing Islamic guidance related to menstruation and worship.
The main goal is to provide reassurance for engaging in religious activities like prayers, fasting, and Umrah while addressing daily period-tracking challenges.
This project was developed as a Final Year Project (FYP) 2023 at the College of Computing and Informatics (CCI).
| Layer | Technology | Description |
|---|---|---|
| Frontend | Laravel Blade / HTML / CSS / Bootstrap | User interface and responsive design |
| Backend | Laravel Framework (PHP) | Business logic and routing |
| Authentication Service | Node.js | Handles user registration, login, and secure authentication |
| Database | MySQL (phpMyAdmin via XAMPP) | Stores user, period, report, and knowledge data |
- 🔐 Register and log in via Node.js auth service (F-1, F-2)
- 📝 View & edit profile (F-3, F-4)
- 🔑 Update password (F-5)
- 🩸 Add, view, edit, delete period details (F-6, F-7, F-8, F-9)
- 🔔 Receive period and istihadha reminders (F-10, F-11)
- 📊 Generate period reports and track history (F-12)
- 🔮 Predict next period cycles (ML-based prediction) (F-13)
- 🔍 Search Islamic knowledge (F-14)
- ❌ Delete account (F-18)
- 🚪 Logout (F-19)
- 🔑 Login via Node.js auth service (F-2)
- 📚 Add, edit, delete Islamic knowledge (F-15, F-16, F-17)
- 🚪 Logout (F-19)
The system consists of four main entities:
- Each period belongs to one user, while a user can have zero or many periods.
- Each knowledge belongs to one user, while a user can have zero or many knowledges.
- Each period_report belongs to one period, and each period can have only one period_report.
| Table | Description | Key Attributes |
|---|---|---|
| users | Stores user information and login credentials | user_id (PK), name, email, role, password |
| periods | Stores period records for users | period_id (PK), start_datetime, end_datetime, remarks, user_id (FK) |
| period_reports | Stores calculated period statistics | periodreport_id (PK), period_day, period_cycle, istihadha_start, istihadha_end, istihadha_day, period_id (FK), user_id (FK) |
| knowledges | Stores Islamic knowledge content for users | knowledge_id (PK), title, content, source, user_id (FK) |
💡 All foreign keys enforce referential integrity.
- 🔮 ML-based Period Prediction: Replace hardcoded rules for more accurate period and istihadha predictions.
- 📱 Mobile app integration for easier access
- 📊 Personalized notifications and analytics
- 📚 Enhanced Islamic guidance with multimedia content
All project documentation is available in the docs folder:

