happy-web

byΰ€Άΰ€¬ΰ₯ΰ€¦ ΰ€―ΰ€Ύΰ€€ΰ₯ΰ€°ΰ€Ύ

Create a complete, production-ready PRIVATE web application called "Gulf Community Barju (GCB)". TECH STACK: - Frontend: Flutter Web (preferred) OR React.js (if better for web) - Backend: Firebase (FREE Spark Plan only) - Firebase Authentication - Cloud Firestore - Firebase Storage - Firebase Hosting IMPORTANT RULES: - This is NOT a payment system - No online transactions - This is a PRIVATE internal system - Only Admin can input data - Members have view-only access - All data is manually entered by admin ------------------------------------- πŸ” AUTHENTICATION SYSTEM - No public signup - Admin creates users - Login using Email & Password - Role-based access: - Super Admin - Admin - Member ------------------------------------- πŸ‘₯ MEMBER MANAGEMENT Admin can: - Add, Edit, Soft Delete members Fields: - Full Name - Country (Qatar, Saudi, UAE, Kuwait, Malaysia, Oman, Nepal) - Phone Number - Profile Photo - Member ID - Family Group (optional) - isDeleted flag ------------------------------------- πŸ’° DONATION SYSTEM (RECORD ONLY) Admin manually records donations. Fields: - Member ID / Name - Country - Amount (Original) - Currency (QAR, AED, KWD, SAR, OMR, MYR, NPR) - Conversion Rate (manual input) - Final Amount (NPR) - Date - Receipt ID (auto-generated) - Proof Image (optional) - Entered By Rules: - No automatic currency conversion - Store both original and NPR values ------------------------------------- πŸ’Έ EXPENSE MANAGEMENT Admin can: - Add expenses - Link expenses to projects Fields: - Amount (NPR) - Category - Description - Date - File uploads ------------------------------------- πŸ— PROJECT MANAGEMENT Admin can: - Create projects - Set budget - Track progress Fields: - Project Name - Budget - Used Amount - Progress % - Linked expenses - Files ------------------------------------- πŸ“Š DASHBOARD Show: - Total Donations (NPR) - Total Expenses - Remaining Balance Include charts: - Monthly donations (line chart) - Expense breakdown (pie chart) ------------------------------------- πŸ“Š TRANSPARENCY SYSTEM Members can view: - All donation records - Donor name - Amount (original + NPR) - Date Include: - Search by name - Filter by country/date ------------------------------------- πŸ“œ AUDIT LOG SYSTEM Track all actions: - Add/Edit/Delete - Currency updates - Login activity Fields: - action - user - old value - new value - timestamp ------------------------------------- πŸ—‘ SOFT DELETE SYSTEM Use: - isDeleted = true - deletedAt - deletedBy ------------------------------------- πŸ”” NOTIFICATIONS - Simple announcement system - Display inside dashboard ------------------------------------- πŸ“Š REPORTS Generate: - Member report - Monthly report - Expense report Export: - PDF - Excel (basic) ------------------------------------- 🎨 UI DESIGN - Clean, simple, village-friendly UI - Sidebar dashboard layout - Mobile responsive Colors: - Primary: #0F9D58 - Secondary: #1A237E - Background: #F5F7FA UI Features: - Card-based dashboard - Tables with search & filter - Forms with validation - Large readable text ------------------------------------- πŸ“± REQUIRED PAGES - Login Page - Dashboard - Members Page - Donations Page - Projects Page - Expenses Page - Reports Page - Notifications Page - Profile Page - Admin Panel - Audit Logs Page ------------------------------------- πŸ—„ FIRESTORE DATABASE STRUCTURE Collections: - users - members - donations - expenses - projects - currency_rates - audit_logs - announcements ------------------------------------- πŸ” SECURITY RULES - Only authenticated users can read - Only admin can write - Role-based access control ------------------------------------- πŸš€ DEPLOYMENT - Build for web - Deploy using Firebase Hosting (FREE) ------------------------------------- ⚑ EXTRA REQUIREMENTS - Clean and modular code - Proper folder structure - Error handling - Input validation - Easy for beginners to understand ------------------------------------- FINAL OUTPUT: - Complete working website code - Firebase setup instructions - Step-by-step deployment guide - Ready to run project

Login
Login

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document (SRD)

Project Name: happy-web

1. Introduction

The purpose of this document is to define the system requirements for happy-web, a private, web-based application designed for internal use by the Gulf Community Barju (GCB). The system will provide a secure, role-based platform for managing members, recording donations, tracking expenses, and monitoring project progress. It will also include features for transparency, reporting, and notifications, all tailored to the needs of the GCB community.

This document outlines the functional and non-functional requirements, user personas, visual design, technical architecture, and constraints for the development of the happy-web website.

2. System Overview

The happy-web system is a private, browser-based application accessible only to authenticated users. It is designed to facilitate the following:

  • Member Management: Admins can manage member profiles, including adding, editing, and soft-deleting records.
  • Donation Recording: Admins can manually input donation details, including multi-currency support and proof uploads.
  • Expense Tracking: Admins can log expenses, categorize them, and link them to specific projects.
  • Project Management: Admins can create and manage projects, set budgets, and track progress.
  • Transparency: Members can view donation records with search and filter options.
  • Audit Logs: All actions are tracked for accountability.
  • Reports: Generate and export reports in PDF or Excel formats.
  • Notifications: Admins can post announcements visible to all users.

The system will be deployed on Firebase Hosting and will leverage Firebase services for authentication, database management, and storage.

3. Functional Requirements

Page 2 of 5

Authentication System

  • As Admin, I should be able to create user accounts with role-based access (Super Admin, Admin, Member).
  • As a User, I should be able to log in using email and password.
  • As Admin, I should be able to manage user roles and permissions.

Member Management

  • As Admin, I should be able to add, edit, and soft-delete member profiles.
  • As Admin, I should be able to input the following member details:
    • Full Name
    • Country (Qatar, Saudi, UAE, Kuwait, Malaysia, Oman, Nepal)
    • Phone Number
    • Profile Photo
    • Member ID
    • Family Group (optional)
    • isDeleted flag

Donation System

  • As Admin, I should be able to manually record donations with the following fields:
    • Member ID / Name
    • Country
    • Amount (Original)
    • Currency (QAR, AED, KWD, SAR, OMR, MYR, NPR)
    • Conversion Rate (manual input)
    • Final Amount (NPR)
    • Date
    • Receipt ID (auto-generated)
    • Proof Image (optional)
    • Entered By

Expense Management

  • As Admin, I should be able to log expenses with the following fields:
    • Amount (NPR)
    • Category
    • Description
    • Date
    • File uploads
Page 3 of 5

Project Management

  • As Admin, I should be able to create and manage projects with the following fields:
    • Project Name
    • Budget
    • Used Amount
    • Progress %
    • Linked expenses
    • Files

Dashboard

  • As Admin, I should see a dashboard with the following:
    • Total Donations (NPR)
    • Total Expenses
    • Remaining Balance
    • Monthly donations (line chart)
    • Expense breakdown (pie chart)

Transparency System

  • As Member, I should be able to view donation records with the following details:
    • Donor name
    • Amount (original + NPR)
    • Date
  • As Member, I should be able to search by name and filter by country/date.

Audit Log System

  • As Admin, I should be able to view all actions logged with the following details:
    • Action
    • User
    • Old value
    • New value
    • Timestamp

Notifications

  • As Admin, I should be able to post announcements visible on the dashboard.
Page 4 of 5

Reports

  • As Admin, I should be able to generate and export the following reports:
    • Member report
    • Monthly report
    • Expense report

4. User Personas

  1. Super Admin:

    • Full access to all features, including user management and system settings.
  2. Admin:

    • Can manage members, donations, expenses, projects, and notifications.
  3. Member:

    • View-only access to donation records and announcements.

5. Visuals Colors and Theme

Color Palette

  • Background: #F5F7FA
  • Surface: #FFFFFF
  • Text: #1A1A1A
  • Accent: #0F9D58
  • Muted: #B0BEC5

Theme

The design will be clean, simple, and village-friendly, with a sidebar dashboard layout and mobile responsiveness.

6. Signature Design Concept

The happy-web homepage will feature an interactive village map as the central design element. Each section of the website (e.g., Members, Donations, Projects) will be represented as a building or landmark on the map. Users can click on these landmarks to navigate to the respective pages.

Page 5 of 5

Details:

  • Animations: Hovering over a landmark will display a tooltip with the section name. Clicking will trigger a smooth zoom-in transition to the section.
  • Color Shifts: The map will subtly change colors based on the time of day (e.g., warm tones for morning, cool tones for evening).
  • Micro-interactions: Icons and labels will animate gently when interacted with, creating a lively and engaging experience.

7. Non-Functional Requirements

  • The system must be responsive and work seamlessly across all modern browsers.
  • Data must be stored securely in Firebase Firestore.
  • The website should load within 3 seconds on a standard internet connection.
  • The codebase must be modular and beginner-friendly.

8. Tech Stack

  • Frontend: React.js
  • Backend: Firebase (Authentication, Firestore, Storage, Hosting)
  • Database: Cloud Firestore
  • Deployment: Firebase Hosting

9. Assumptions and Constraints

  • The system will not support online transactions or payment processing.
  • All data will be manually entered by Admins.
  • The system will operate within the limits of Firebase's free Spark Plan.

10. Glossary

  • Admin: A user with permissions to manage data and system settings.
  • Member: A user with view-only access to specific data.
  • Firestore: A NoSQL cloud database provided by Firebase.
  • NPR: Nepalese Rupee, the base currency for all financial records.
  • Soft Delete: A method of marking data as deleted without permanently removing it.
Login design preview
Login: Sign In
Dashboard: View Stats
Members: Add Member
Members: Edit Member
Donations: Record Donation
Donations: Upload Proof
Expenses: Log Expense
Projects: Link Expense
Notifications: Post Announcement