Quran Bot is a WhatsApp-based application designed to help manage daily Quran reading assignments for a group of participants. It automatically assigns Juz (parts) of the Quran to each participant and sends daily reminders.
- WhatsApp integration for sending messages
- Daily Juz assignment management
- Web-based admin interface
- Participant management (add, remove, view)
- Custom message template
- Send messages to all participants
- Send messages to individual participants
- Automatic daily update of Juz assignments
- Store participant data in a JSON file
- Store message template in a JSON file
- Load and save data automatically
- Arabic language interface
- Responsive design for mobile and desktop
- Support for multiple reading groups
- Ability to pause/resume assignments for individual participants
- Option to set custom start dates for new participants
- Support for different Quran reading plans (e.g., monthly, quarterly)
- Dark mode for the admin interface
- Multi-language support (English, etc.)
- User authentication for the admin interface
- Dashboard with reading progress statistics
- Support for participant responses (e.g., marking Juz as read)
- Automated reminders for participants who haven't confirmed reading
- Option for participants to request their current assignment via WhatsApp
- Export participant data and reading history to CSV
- Generate reading progress reports
- Backup and restore functionality for all data
- Integration with Islamic calendar for special readings on significant days
- Option to include short Tafsir (explanation) with each Juz assignment
- Gamification elements (e.g., streaks, achievements) to encourage consistent reading
- API for third-party integrations
- Implement unit and integration tests
- Set up continuous integration/continuous deployment (CI/CD) pipeline
- Dockerize the application for easier deployment
- Implement database storage (e.g., MongoDB) for better scalability
These instructions will help you set up a copy of the project on your local machine for development and testing purposes.
- Node.js (v14 or later)
- npm (usually comes with Node.js)
- A WhatsApp account for the bot
-
Clone the repository:
git clone https://github.com/yourusername/quran-bot.git -
Navigate to the project directory:
cd quran-bot -
Install the dependencies:
npm install -
Create a
.envfile in the root directory and add your configuration:PORT=3000 -
Start the server:
node server.js -
Open a web browser and go to
http://localhost:3000to access the admin interface. -
Scan the QR code that appears in the console with your WhatsApp to authenticate the bot.
- Add participants through the web interface by providing their name, phone number, and initial Juz.
- Customize the message template if desired.
- Use the interface to send messages to all participants or individual participants.
- The bot will automatically update Juz assignments daily.
We welcome contributions to the Quran Bot project! Here's how you can help:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature/AmazingFeature). - Make your changes.
- Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Please make sure to update tests as appropriate and adhere to the code style of the project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Your Name - @alilibx - alhashimifali@gmail.com
Project Link: https://github.com/alilibx/quranbot