Skip to content
hossam sulleman edited this page Oct 31, 2023 · 4 revisions

Islamic Ware Wiki

Overview

Islamic Ware is a comprehensive software solution designed to empower mosques and madrasahs with essential tools for efficient management, prayer time tracking, and course management. The project comprises two main applications, each with a distinct focus. Additionally, several shared packages form the backbone of the project.

Tech Stack

Admin App

The Admin app is a vital component for mosque management. It offers features like prayer time tracking and display management. It also includes a built-in website builder to enhance online presence. Here's an overview of its tech stack:

  • Framework: The Admin app is built with Next.js for robust, server-rendered web applications.
  • Hosting: The Admin app is hosted on Vercel, ensuring scalability and reliability.
  • Backend: It uses Next.js on the backend to handle server-side logic.
  • Authentication: Next Auth is employed for user authentication.
  • Database Schema: The schema is defined using Knex, a SQL query builder for Node.js.
  • Database: It connects to the database with the identifier "3dkt5," storing crucial data.

Local Packages Used

  • UI: This package offers a library of React components, built with Tailwind CSS, ensuring consistent and appealing web design.
  • xDisplays: This package provides a collection of React components, also built with Tailwind CSS. It is particularly geared towards mosque screens and community displays.
  • Quikbuilder: Quikbuilder is another React component library built with Tailwind CSS, aimed at enhancing the website builder's components and sections.
  • Plugins: The Plugins package is a versatile library of React components and JavaScript utilities, designed with Tailwind CSS and Storybook. It serves as a platform for developing plugins that can be utilized in various applications and modules within the project.

Ulema App

The Ulema app caters to madrasahs, providing tools for student management and course uploads. Here's an overview of its tech stack:

  • Framework: Similar to the Admin app, the Ulema app is also built using Next.js.
  • Hosting: It is hosted on Vercel and is additionally available on the Apple Store and Windows Store, ensuring wide accessibility.
  • Backend: Utilizes Next.js on the backend for server-side operations.
  • Authentication: [Clerk(https://Clerk.com/) is used for user authentication.
  • Database Schema: The schema is defined using Prisma, a modern database toolkit and ORM.
  • Database: It connects to the database with the identifier "2bah8," storing essential data.

Local Packages Used

  • Plugins: Just like in the Admin app, the Ulema app also utilizes the Plugins package for enhanced functionality.

Additional Notes

This uses pnpm and turborepo

Documentation of techonolgy used

Next.js Documentation: You can find the official documentation for Next.js at https://nextjs.org/docs.

Vercel Documentation: For information about hosting and deploying applications on Vercel, visit https://vercel.com/docs.

Next Auth Documentation: To explore user authentication with Next Auth, check out https://next-auth.js.org/.

Clerk Auth Documentation: To explore user authentication with Next Auth, check out https://clerk.com/.

Knex Documentation: For documentation on Knex, the SQL query builder for Node.js, go to http://knexjs.org/.

Tailwind CSS Documentation: You can find documentation for Tailwind CSS at https://tailwindcss.com/docs.

Prisma Documentation: To learn more about Prisma, the modern database toolkit and ORM, visit https://prisma.io/docs.

Storybook Documentation: If you're interested in Storybook for developing UI components, check out https://storybook.js.org/docs.