A comprehensive platform for daily Islamic prayers and remembrances with a beautiful UI.
Nour Adhkar is a web application that provides a collection of Islamic adhkar (remembrances) and prayers in a user-friendly interface. The application includes features such as:
- Morning and evening adhkar
- Prayer counter (Tasbih)
- Daily Quran verse
- Theme customization (light/dark mode)
- User profiles and achievements
- Node.js (v14 or higher)
- npm (v7 or higher)
- Vue.js 3
- Vite
- PHP 8.1 or higher
- Composer 2.0 or higher
- Laravel 11
- MySQL 8.0 or higher / PostgreSQL 13 or higher
- PHP Extensions:
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- FileInfo PHP Extension
- Frontend: Vue.js 3 with Vite
- Backend: Laravel 11
This project follows a branch strategy where:
main
branch is reserved for production releasesdevelopment
branch is the primary branch for development work
When starting development:
-
Clone the repository
git clone https://github.com/yourusername/nour-adhkar.git
-
Switch to the development branch
git checkout development
-
Create a feature branch from development
git checkout -b feature/your-feature-name
-
After completing your work, create a pull request to merge into the
development
branch, notmain
-
Navigate to the frontend directory
cd "Nour Adhkar"
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser and visit
http://localhost:5173
-
Navigate to the backend directory
cd backend
-
Install PHP dependencies
composer install
-
Create and configure your
.env
filecp .env.example .env
-
Generate application key
php artisan key:generate
-
Generate JWT secret key
php artisan jwt:secret
-
Run database migrations and seed data
php artisan migrate --seed
-
Start the backend server
php artisan serve
-
The backend API will be available at
http://localhost:8000
-
Configure your testing environment in
backend/.env.testing
cp .env.example .env.testing # Update database and other settings for testing
-
Run all tests
cd backend php artisan test
-
Run tests with coverage report
php artisan test --coverage # Or for HTML coverage report php artisan test --coverage-html reports/
npm run build
The built files will be in the dist
directory.
We welcome contributions from the community! Here's how you can help:
-
Report bugs or suggest features
- Open an issue on GitHub describing the bug or feature request
-
Contribute code
- Fork the repository
- Switch to the
development
branch (git checkout development
) - Create a new branch from development (
git checkout -b feature/your-feature-name
) - Make your changes
- Run tests and ensure they pass
- Commit with clear, descriptive messages
- Push to your fork
- Submit a pull request to the
development
branch
-
Improve documentation
- Help us improve this README or add documentation
-
Share the project
- Star the repository
- Share with others who might find it useful
- Follow the existing code style
- Write meaningful commit messages
- Add comments for complex logic
- Write tests for new features
- Maintain or improve code coverage
- Follow PSR-12 coding standard for PHP
- Use Vue.js style guide recommendations
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or suggestions, please open an issue on GitHub or contact the maintainers.
Made with ❤️ and ☕