Skip to content

Ehsan-Lab/CareOps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CareOps Charity Management System

A comprehensive web application for managing charity operations, including donor management, payment tracking, beneficiary support, and financial management.

Features

  • 🏦 Treasury Management

    • Multiple categories with real-time balance tracking
    • Transaction history and audit trail
    • Category-based financial management
  • 💝 Donor Management

    • Donor profiles and history
    • Donation tracking and categorization
    • Automated receipt generation
  • 👥 Beneficiary Management

    • Profile management with status tracking
    • Payment scheduling and history
    • Support status monitoring
  • 💰 Payment System

    • One-time and recurring payments
    • Multiple payment frequencies
    • Status tracking (Pending/Completed/Cancelled)
    • Automatic treasury updates
  • 🍲 Feeding Rounds

    • Round creation and management
    • Allocation tracking
    • Distribution workflow
    • Detailed reporting

Technology Stack

  • Frontend: React with TypeScript
  • UI Framework: Tailwind CSS
  • State Management: React Query & Zustand
  • Backend: Firebase (Firestore)
  • Authentication: Firebase Auth
  • Deployment: Firebase Hosting

Development Setup

  1. Clone the repository:
git clone https://github.com/MoatazFarid/CareOps.git
cd CareOps
  1. Install dependencies:
npm install
  1. Create .env file with Firebase config:
VITE_FIREBASE_API_KEY=your-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-domain
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your-sender-id
VITE_FIREBASE_APP_ID=your-app-id
  1. Start development server:
npm run dev

Production Deployment

Firebase Deployment

  1. Install Firebase CLI:
npm install -g firebase-tools
  1. Login to Firebase:
firebase login
  1. Initialize Firebase:
firebase init
  1. Build and deploy:
npm run build
firebase deploy

Manual Deployment (Hostinger)

  1. Create .env.production with production Firebase config

  2. Build and package:

./deploy.sh
  1. Upload to Hostinger:
  • Log in to Hostinger control panel
  • Go to File Manager
  • Navigate to public_html
  • Upload deploy.zip
  • Extract the files
  1. Configure .htaccess:
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

Available Scripts

  • npm run dev - Start development server
  • npm run build - Create production build
  • npm run preview - Preview production build
  • npm run lint - Run ESLint
  • npm run typecheck - Run TypeScript checks
  • npm test - Run tests
  • npm run test:watch - Run tests in watch mode
  • npm run test:coverage - Generate test coverage report

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License - see the LICENSE.md file for details. This means you can freely use and adapt the software for non-commercial purposes, as long as you provide appropriate attribution.

Support

For support, please open an issue in the GitHub repository or contact the development team.

Acknowledgments

  • All the contributors who have helped with code, bug reports, and suggestions
  • The open-source community for the amazing tools and libraries
  • Our users for their valuable feedback and support

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages