A comprehensive, modern web application designed to streamline the management and operations of the Sheikh Committee. This system provides tools for tracking members, managing daily contributions, scheduling payouts, and offering different views for administrators and guests.
- Member Management: Easily view and manage all committee members.
- Daily Status Tracking: Mark and save daily contribution statuses (Paid, Unpaid, Pending) for each member.
- Payout Scheduling: Automatically calculates and displays the payout schedule every 15 days.
- Dynamic Payout Highlighting: The next member due for a payout is automatically highlighted.
- Real-time Data Sync: Admin and Guest views are synchronized in real-time.
- Responsive Design: A seamless experience across desktops, tablets, and mobile devices.
- Fallback Data Mode: The application is fully functional even without a database connection, using placeholder data.
Here's a sneak peek of the system in action:
| Login | Dashboard |
|---|---|
![]() |
![]() |
| Members | Guests |
|---|---|
![]() |
![]() |
| Payouts |
|---|
![]() |
- Framework: Next.js
- Language: TypeScript
- Database: Supabase (with a fallback to local data)
- Styling: Tailwind CSS
- UI Components: Shadcn/UI
- Deployment: App Hosting
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or later recommended)
- npm
-
Clone the repository:
git clone https://github.com/your-username/Sheikh-main.git cd Sheikh-main -
Install NPM packages:
npm install
-
Setup the Environment: This project can run with a Supabase backend or in a fallback mode with local data. For the full experience, setting up Supabase is recommended.
Please see the detailed instructions in the SETUP.md file for configuring the database and environment variables.
Once the setup is complete, you can run the application using the following commands:
# Start the development server
npm run dev
# Build the application for production
npm run build
# Start the production server
npm startOpen http://localhost:3000 with your browser to see the result.




