{"id":21070851,"url":"https://github.com/codebatine/project-donation-app","last_synced_at":"2026-05-15T18:04:29.870Z","repository":{"id":258006250,"uuid":"867855217","full_name":"codebatine/Project-Donation-App","owner":"codebatine","description":"MongoDB Hackathon.","archived":false,"fork":false,"pushed_at":"2024-11-05T21:02:00.000Z","size":312,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-20T21:56:52.941Z","etag":null,"topics":["donation-app","donation-website","hackathon","javascript","mongodb"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/codebatine.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-10-04T21:26:26.000Z","updated_at":"2024-11-05T21:02:04.000Z","dependencies_parsed_at":"2024-11-03T17:34:21.920Z","dependency_job_id":null,"html_url":"https://github.com/codebatine/Project-Donation-App","commit_stats":null,"previous_names":["codebatine/project-donation-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebatine%2FProject-Donation-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebatine%2FProject-Donation-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebatine%2FProject-Donation-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebatine%2FProject-Donation-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codebatine","download_url":"https://codeload.github.com/codebatine/Project-Donation-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243513880,"owners_count":20303028,"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":["donation-app","donation-website","hackathon","javascript","mongodb"],"created_at":"2024-11-19T18:48:37.454Z","updated_at":"2026-05-15T18:04:29.837Z","avatar_url":"https://github.com/codebatine.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Donation App\n\nThis is a donation platform built for a hackathon. The app allows users to sign up, log in, create donation projects, and support projects by making donations. MongoDB is used for data storage, and Langchain is integrated for basic chatbot functionalities.\n\n## Features\n\n- **User Authentication:** Signup and login with hashed passwords\n- **Project Creation:** Users can create donation projects and set donation goals\n- **Donation Tracking:** Shows donation progress towards each project's goal\n- **Chat Assistant:** Basic chatbot assistance powered by Langchain (testing mode)\n\n## Technologies Used\n\n- **Frontend:** React, Sass\n- **Backend:** Node.js, Express\n- **Database:** MongoDB (MongoDB Atlas recommended for deployment)\n- **AI Integration:** Langchain\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js and npm installed\n- MongoDB (either local or MongoDB Atlas for cloud hosting)\n- Langchain API key\n\n### Setup Instructions\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/codebatine/Project-Donation-App.git\n   ```\n\nFor both backend and frontend, run the following commands from their respective directories:\n\n# In the backend folder\n\n```bash\ncd backend\nnpm install\n```\n\n# In the frontend folder\n\n```bash\ncd frontend\nnpm install\n```\n\n## Set up Environment Variables:\n\nIn the backend folder, create a .env file and add the following environment variables:\n\n```bash\nMONGO_URI=\u003cYour_MongoDB_URI\u003e\nJWT_SECRET=\u003cYour_JWT_Secret\u003e\nLANGCHAIN_TRACING_V2=true\nLANGCHAIN_ENDPOINT=https://api.smith.langchain.com\nLANGCHAIN_API_KEY=\u003cYour_Langchain_API_Key\u003e\nLANGCHAIN_PROJECT=donation-app\n```\n\n## Start the Servers:\n\nFirst, make sure MongoDB is running, either locally or on MongoDB Atlas.\n\nStart the backend server:\n\n```bash\ncd backend\nnpm start\n```\n\n## Start the frontend server:\n\n```bash\ncd frontend\nnode server.js\n```\n\n## Access the Application:\n\nThe app should now be accessible at http://localhost:3000, and the backend API will be running on http://localhost:5000.\n\n## API Endpoints\n\n### Authentication\n\nPOST /api/auth/signup - Register a new user\n\nPOST /api/auth/login - Log in as an existing user\n\n### Projects\n\nPOST /api/projects - Create a new donation project\n\nGET /api/projects - Get all projects\n\nPUT /api/projects/:id/donate - Make a donation to a project\n\n### Chatbot\n\nPOST /api/chatbot - Interact with the Langchain-powered chatbot\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebatine%2Fproject-donation-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodebatine%2Fproject-donation-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebatine%2Fproject-donation-app/lists"}