A sleek, modern web application built with React and Vite that serves as an interactive landing page and installation guide for Expo-based mobile applications. This project showcases the Daily Duas app, a beautiful digital Tasbeeh companion for daily Islamic remembrance.
- π¨ Modern UI: Clean, responsive design with smooth animations using Framer Motion
- π± Mobile-First: Optimized for all devices with Tailwind CSS
- π QR Code Integration: Direct app installation via Expo Go
- π Feature Showcase: Highlight key app capabilities with icons and descriptions
- πΌοΈ App Screenshots: Visual preview of the mobile application
- π Installation Guide: Step-by-step instructions for users
- π SEO-Friendly: Built with Vite for fast loading and performance
The application is a single-page React app that uses React Router for navigation. It features multiple sections:
- Hero Section: Eye-catching introduction with QR code for instant app access
- Features Section: Grid layout showcasing app capabilities
- App Showcase: Screenshots and previews of the mobile app
- Install Guide: Detailed instructions for downloading and using the app
The app leverages modern web technologies for a seamless user experience, with animations and responsive design ensuring it looks great on any device.
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS with custom design system
- UI Components: shadcn/ui (built on Radix UI primitives)
- Animations: Framer Motion
- State Management: TanStack Query (React Query)
- Icons: Lucide React
- QR Code Generation: qrcode.react
- Testing: Vitest with Playwright for E2E
- Linting: ESLint
- Package Manager: npm/bun
-
Clone the repository
git clone https://github.com/adelelawady/daily-dua.git cd expo-guide-builder -
Install dependencies
npm install # or bun install -
Start the development server
npm run dev # or bun run dev -
Open your browser
Navigate to
http://localhost:8080to view the application.
The application uses Vite for configuration. Key settings in vite.config.ts:
- Base Path:
/daily-dua/in production for GitHub Pages deployment - Server: Configured for development with HMR
- Aliases:
@points tosrc/directory
Environment variables are minimal, with the app adapting based on development/production mode.
- View the Landing Page: The app displays a comprehensive overview of the Daily Duas mobile application
- Scan QR Code: Use Expo Go app to scan the QR code for instant installation
- Explore Features: Scroll through sections to learn about app capabilities
- Follow Install Guide: Get step-by-step instructions for using the mobile app
expo-guide-builder/
βββ public/
β βββ robots.txt
βββ src/
β βββ assets/
β βββ components/
β β βββ ui/ # shadcn/ui components
β β βββ HeroSection.tsx
β β βββ FeaturesSection.tsx
β β βββ AppShowcase.tsx
β β βββ InstallGuide.tsx
β βββ hooks/
β βββ lib/
β β βββ utils.ts
β βββ pages/
β β βββ Index.tsx
β β βββ NotFound.tsx
β βββ App.tsx
βββ test/
β βββ example.test.ts
β βββ setup.ts
βββ package.json
βββ vite.config.ts
βββ tailwind.config.ts
βββ README.md
The main landing area with app title, description, and QR code for easy installation.
Showcase of key app features including Tasbeeh counter, progress tracking, and daily reminders.
Screenshots of the Daily Duas mobile app interface and functionality.
npm run devStarts the Vite development server with hot module replacement.
npm run buildCreates an optimized production build in the dist/ directory.
npm testRuns the test suite using Vitest.
npm run lintChecks code quality with ESLint.
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and ensure tests pass
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project helpful, please give it a β on GitHub!
For questions or support, feel free to open an issue.
Built with β€οΈ for the React Native and Expo community.


