A comprehensive web application for managing charity operations, including donor management, payment tracking, beneficiary support, and financial management.
-
🏦 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
- Frontend: React with TypeScript
- UI Framework: Tailwind CSS
- State Management: React Query & Zustand
- Backend: Firebase (Firestore)
- Authentication: Firebase Auth
- Deployment: Firebase Hosting
- Clone the repository:
git clone https://github.com/MoatazFarid/CareOps.git
cd CareOps- Install dependencies:
npm install- Create
.envfile 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- Start development server:
npm run dev- Install Firebase CLI:
npm install -g firebase-tools- Login to Firebase:
firebase login- Initialize Firebase:
firebase init- Build and deploy:
npm run build
firebase deploy-
Create
.env.productionwith production Firebase config -
Build and package:
./deploy.sh- Upload to Hostinger:
- Log in to Hostinger control panel
- Go to File Manager
- Navigate to public_html
- Upload deploy.zip
- Extract the files
- 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>npm run dev- Start development servernpm run build- Create production buildnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run typecheck- Run TypeScript checksnpm test- Run testsnpm run test:watch- Run tests in watch modenpm run test:coverage- Generate test coverage report
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
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.
For support, please open an issue in the GitHub repository or contact the development team.
- 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