{"id":23129442,"url":"https://github.com/nafijur-rahaman/donation-platform-backend","last_synced_at":"2026-04-12T04:33:16.159Z","repository":{"id":254837796,"uuid":"847694349","full_name":"nafijur-rahaman/Donation-platform-backend","owner":"nafijur-rahaman","description":"A scalable backend solution for coordinating donation campaigns, authentication of users, and processing of payments.","archived":false,"fork":false,"pushed_at":"2024-12-03T17:01:47.000Z","size":37816,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T17:44:23.584Z","etag":null,"topics":["cloudinary","django","django-rest-framework","git","github","postgresql","sslcommerz"],"latest_commit_sha":null,"homepage":"https://donation-platform-backend-psi.vercel.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nafijur-rahaman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-26T11:15:58.000Z","updated_at":"2024-12-03T17:02:19.000Z","dependencies_parsed_at":"2024-11-01T19:20:58.333Z","dependency_job_id":"1fce650b-89ab-4df1-a572-d7a5597617bf","html_url":"https://github.com/nafijur-rahaman/Donation-platform-backend","commit_stats":null,"previous_names":["nafis115/donation-platform-backend","nafijur-rahaman/donation-platform-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafijur-rahaman%2FDonation-platform-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafijur-rahaman%2FDonation-platform-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafijur-rahaman%2FDonation-platform-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nafijur-rahaman%2FDonation-platform-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nafijur-rahaman","download_url":"https://codeload.github.com/nafijur-rahaman/Donation-platform-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135125,"owners_count":20889420,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudinary","django","django-rest-framework","git","github","postgresql","sslcommerz"],"created_at":"2024-12-17T10:09:23.077Z","updated_at":"2025-12-30T23:08:34.102Z","avatar_url":"https://github.com/nafijur-rahaman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Donation Platform Backend\n\nThis is the backend service for a donation platform that manages user accounts, donation campaigns, and secure payment processing. The backend provides APIs for handling all core functionalities, including user authentication, campaign management, donation tracking, and more.\n\n\n\n## Features\n\n- User Authentication: Secure registration, login, and role-based access control (donors, campaign organizers, admins)\n- Campaign Management: Create, update, filter and manage donation campaigns with goals, descriptions, and progress tracking.\n- Payment Integration: Securely process donations via  payment gateways (e.g., SSLCommerz).\n- Donation Tracking: Track donation history, filter and provide real-time campaign updates\n- Scalable API: Built to handle high transaction volumes and user activity.\n\n\n\n\n## Tech Stack\n\n**frontend:** Html5,TailwindCSS,Javascript,\n\n**Backend:** Django\n\n**Database:** PostgreSQL\n\n**Payment Gateway:** SSLCommerz\n\n**Cloud Storage:** Cloudinary\n\n\n\n\n## Installation\n\nClone the repository:\n\n```bash\nhttps://github.com/nafijur-rahaman/Donation-platform-backend\ncd donation-platform-backend\n```\nCreate a virtual environment and activate it:\n\n```bash\npy -m venv myworld\nvenv\\Scripts\\activate\n```\nInstall dependencies:\n\n```bash\npip install -r requirements.txt\n```\n```bash\nSECRET_KEY= your_secret_key\n\nNB: Create email for send email:\n\nEMAIL= your_email\nEMAIL_PASSWORD= your_email_pass\n\nNB: Create a free database on supabase then fulfiled the require fields:\n\nDB_NAME=postgres\nDb_USER=\nDB_PASS=\nDB_HOST=aws-0-ap-southeast-1.pooler.supabase.com\nDB_PORT=6543\n\nNB: Create a fre cloud on cloudinary and then fulfiled the require fields:\nCLOUD_NAME=\nAPI_KEY=\nAPI_SECRET_KEY=\n```\nRun migrate and migrations:\n\n```bash\npython manage.py makemigrations\npython manage.py migrate\n```\nStart the development server:\n```bash\npython manage.py runserver\n```\n\n## Models\n\n### User Model\n\n- **email**: `EmailField` (unique=True)\n- **image**: `CloudinaryField` (default='dummyimage.jpg')\n- **profession**: `CharField` (max_length=100, default=\"Software Engineer\")\n- **phone_number**: `CharField` (max_length=11, blank=True, null=True)\n- **bio**: `TextField` (blank=True)\n- **status**: `CharField` (max_length=30, choices=STATUS_CHOICES, default=\"active\")\n- **address**: `CharField` (max_length=200, blank=True, null=True)\n- **created**: `DateField` (auto_now_add=True, blank=True, null=True)\n\n### Campaigns Model\n\n- **creator**: `ForeignKey` to `Creator`\n- **title**: `CharField` (max_length=200)\n- **image**: `CloudinaryField` (default='placeholder_image_public_id')\n- **description**: `TextField` (blank=True, null=True)\n- **goal_amount**: `DecimalField` (max_digits=12, decimal_places=2)\n- **fund_raised**: `DecimalField` (max_digits=12, decimal_places=2, default=0)\n- **location**: `CharField` (max_length=200)\n- **deadline**: `DateField`\n- **type**: `CharField` (choices=TYPE_CHOICES, max_length=20)\n- **status**: `CharField` (choices=STATUS_CHOICES, default='Pending')\n- **created_at**: `DateTimeField` (auto_now_add=True)\n\n### CreatorRequest Model\n\n- **user**: `ForeignKey` to `User`\n- **organization**: `CharField` (max_length=200, blank=True, null=True)\n- **experience_years**: `PositiveIntegerField` (default=0)\n- **service_areas**: `TextField` (blank=True, null=True)\n- **message**: `TextField`\n- **status**: `CharField` (max_length=10, choices=STATUS_CHOICES1, default='pending')\n\n### ManagerModel\n\n- **user**: `ForeignKey` to `User`\n- **designation**: `CharField` (max_length=100, default=\"manager\")\n\n## Database Schema\n\n- **Users**: Stores information for all users, including creators and managers, linked to Django’s `User` model.\n- **Campaigns**: Contains data related to fundraising campaigns created by users.\n- **CreatorRequests**: Stores requests made by users to become creators on the platform.\n- **ManagerModel**: Stores information about managers associated with user accounts.\n\n\n## API Endpoints\n\n### User Authentication\n\n- **Register a New User**  \n  `POST` [https://donation-platform-backend-psi.vercel.app/api/users/register/](https://donation-platform-backend-psi.vercel.app/api/users/register/)\n  \n- **Log in a User**  \n  `POST` [https://donation-platform-backend-psi.vercel.app/api/users/login/](https://donation-platform-backend-psi.vercel.app/api/users/login/)\n  \n- **Log in Admin**  \n  `POST` [https://donation-platform-backend-psi.vercel.app/api/manager/login/](https://donation-platform-backend-psi.vercel.app/api/manager/login/)\n  \n- **Log out a User**  \n  `GET` [https://donation-platform-backend-psi.vercel.app/api/users/logout/](https://donation-platform-backend-psi.vercel.app/api/users/logout/)\n  \n- **Log out Admin**  \n  `GET` [https://donation-platform-backend-psi.vercel.app/api/manager/logout/](https://donation-platform-backend-psi.vercel.app/api/manager/logout/)\n\n### Campaign Management\n\n- **List All Campaigns**  \n  `GET` [https://donation-platform-backend-psi.vercel.app/api/campaign/list/](https://donation-platform-backend-psi.vercel.app/api/campaign/list/)\n  \n- **Create a New Campaign**  \n  `POST` [https://donation-platform-backend-psi.vercel.app/api/campaign/list/](https://donation-platform-backend-psi.vercel.app/api/campaign/list/)\n  \n- **Update a Campaign**  \n  `PUT` [https://donation-platform-backend-psi.vercel.app/api/campaign/list/campaignId/](https://donation-platform-backend-psi.vercel.app/api/campaign/list/campaignId/)\n  \n- **Delete a Campaign**  \n  `DELETE` [https://donation-platform-backend-psi.vercel.app/api/campaign/list/campaignId/](https://donation-platform-backend-psi.vercel.app/api/campaign/list/campaignId/)\n\n### Donation Management\n\n- **Process a Donation**  \n  `POST` [https://donation-platform-backend-psi.vercel.app/api/transactions/initiate-payment/](https://donation-platform-backend-psi.vercel.app/api/transactions/initiate-payment/)\n  \n- **View Donation History**  \n  `GET` [https://donation-platform-backend-psi.vercel.app/api/transactions/list/](https://donation-platform-backend-psi.vercel.app/api/transactions/list/)\n\n### Notes\n\n- Replace `user_id` and `campaignId` in the URLs with the actual user or tuition post ID as required.\n- Ensure you handle authentication tokens properly in your requests.\n\n\n## Contact\n\nFor inquiries or support, please contact:\n- **Project Developer**: Md. Nafijur Rahaman\n- **Email**: tanjidnafis@gmail.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnafijur-rahaman%2Fdonation-platform-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnafijur-rahaman%2Fdonation-platform-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnafijur-rahaman%2Fdonation-platform-backend/lists"}