🔥 Designed to streamline the recitation submission process, particularly for UIN Suska Riau. 🔥
iMemoraise: Integrated Quran Memorization Information System UIN Suska Riau
(build with 💚💜 using: Express TS + Prisma-ORM + Bun + PostgreSQL)
iMemoraise (Integrated Quran Memorization Information System) is a comprehensive web application created to enhance the management and tracking of Quran recitations. This system is specifically designed to support educational institutions in overseeing and recording students' recitations, which are mandatory for progressing to internships, seminars, final projects, and other academic activities. By providing a streamlined platform for tracking these essential recitations, iMemoraise simplifies the administrative process, ensuring that all requirements are met efficiently. This application is particularly tailored for use at UIN Suska Riau, where it aids in managing students' academic progress and compliance with Quran memorization prerequisites.
Before you start, we recommend familiarizing yourself with the essential components needed to build an Express TypeScript application using Prisma ORM, Bun, and PostgreSQL:
- Express TypeScript - Begin with the Express Official Website. The Express TypeScript Guide provides an overview of using Express with TypeScript.
- Prisma ORM - Learn about Prisma ORM from the Prisma Official Website. The Getting Started guide will help you set up your database schema and integrate Prisma with your application.
- Bun - Visit the Bun Official Website for information on Bun, a fast JavaScript runtime. Check out the Getting Started guide for installation and usage instructions.
- PostgreSQL - Start with the PostgreSQL Official Website. The Documentation provides comprehensive information on setting up and managing PostgreSQL databases.
Ensure you have the following prerequisites installed on your development machine:
- Git - Download & Install Git. Git is commonly pre-installed on OSX and Linux machines.
- Node.js - Download & Install Node.js and the npm package manager. For installation issues, refer to this GitHub Gist for guidance.
- Bun - Download & Install Bun for a fast JavaScript runtime environment.
- PostgreSQL - Download & Install PostgreSQL and ensure it's running on the default port (5432).
- Prisma ORM - Install Prisma using Bun. After setting up Node.js and Bun, follow the Prisma installation guide to integrate Prisma with PostgreSQL.
iMemoraise is designed to enhance the management and tracking of Quran recitations for Academic Advisors and students. Here are the main features provided:
For Academic Advisors:
- Recitation Management: Monitor and track the progress of students' Quran recitations under their guidance. Review the completeness and accuracy of memorization progress.
- Approval Process: Listen to students' offline Quran recitations and assess their memorization progress, then approve or reject the recitations based on your assessment. Provide feedback directly to students to ensure they meet the required standards.
For Students:
- Progress Tracking: Keep an eye on the status of each recitation you’ve submitted later, monitor your own progress and view updates on the status of your recitations based on feedback from Academic Advisors. Students submit their recitations offline, and no online submission is required.
iMemoraise uses Keycloak for identity and access management. Keycloak handles authentication and authorization, providing secure access through its OAuth2 and OpenID Connect protocols.
Here’s a simple scenario for logging in as an Academic Advisor or student:
- Account Setup: Academic Advisors are assigned roles via Keycloak, which sets up accounts with default credentials. Advisors can reset their passwords for enhanced security.
- Login: Users authenticate via Keycloak using their credentials.
- For Academic Advisors: Manage and monitor offline recitations, approve or reject submissions based on your evaluation, then provide live feedback to students to help them meet the required memorization standards.
- For Students: Track your recitation progress and receive feedback on your offline submissions.
Contributions are crucial for improving iMemoraise. We welcome and value any help or suggestions.
To contribute, fork the repository, create a pull request, or open a new issue to discuss potential enhancements. Don’t forget to star the repository if you find it helpful! Thank you for your support!
No-License // ✧˚ ༘ ⋆。♡˚