Project Overview
namazipg.com is a Progressive Web App (PWA) designed to provide accurate islamic prayer times for the community in Pogradec, Albania. It functions both online and offline and can be installed on mobile and desktop devices.
Detailed Description
Goal: Develop a reliable and user-friendly PWA to provide accurate, localized islamic prayer times specifically for Pogradec.
Solution: I built a tool that converts Excel data into JSON format, which powers the app to deliver accurate prayer times. The app, developed with Blazor WebAssembly, displays the next prayer time, includes both Hijri and Gregorian calendars, and shows sunrise times.
Technologies Used:
- Languages & Frameworks: C#, Blazor WebAssembly
- Web Technologies: HTML, CSS, JavaScript
- Data Formats: JSON, Excel
- Deployment: Netlify
- Notifications: One Signal
Features and Functionality
- Excel to JSON Conversion: A tool that converts prayer time data from Excel spreadsheets to JSON format.
- Localized Prayer Times: Accurate and localized prayer times for Pogradec.
- Calendars: Includes both Hijri and Gregorian calendars, as well as sunrise times.
- Offline Functionality: The app works offline and can be installed on various devices.
- User-Friendly Interface: Clear and easy-to-use interface for displaying prayer times.
Process and Methodology
Data Conversion: Developed a tool to convert prayer times from Excel to JSON format.
PWA Development: Built with Blazor WebAssembly to provide a seamless and responsive user experience. This was my first project using WebAssembly commercially.
Interface Design: Designed for clarity and ease of use, ensuring that accurate prayer times are always accessible.
Cross-Device Compatibility: Easy installation on various devices, making it convenient for users to keep up with their islamic prayers.
Lessons Learned
Looking back, I would consider using plain vanilla JavaScript due to its simplicity and efficiency. While Blazor WebAssembly is great for leveraging C# experience, it may not be the best choice for this type of app due to the long initial load time.
Future Improvements
Future plans include enhancing the UI for even better user experience, and potentially redeveloping a new version of the app using static HTML and Vanilla JS for improved performance and maintainability.
Call to Action
Visit the live demo for more details.