Local Link is a neighborhood platform that connects residents, shopkeepers, NGOs, and service providers to reduce waste, support local commerce, share resources, and enable emergency assistance.
- ✨ Key Features
- 🛠 Tech Stack
- 📸 Visuals
- 📂 Repository Layout
- 🚀 Quick Start (Local Development)
- 🔗 Core API Groups
- 📜 Documentation
- 🤝 Contributing
- 📜 License
- Food waste management: surplus listings, claims, pickup flow
- Apartment commerce: nearby shops, inventory browsing, cart and orders
- Shared resources: peer-to-peer rentals with booking/deposit flow
- Emergency network: blood and medicine availability by locality
- ML microservice: demand prediction and recommendation endpoints
- Planned module: skill exchange service provider booking flow
- Frontend: Next.js (App Router)
- Backend: Node.js + Express
- Database: MongoDB + geospatial queries
- ML service: FastAPI
- Auth: JWT + role-based guards
- Tooling: pnpm, nodemon
Local-Link/
|-- backend/
| |-- src/
| | |-- config/
| | |-- controllers/
| | |-- middlewares/
| | |-- models/
| | |-- routes/
| | `-- server.js
| |-- package.json
| `-- .env.example
|-- frontend/
| |-- app/
| |-- components/
| |-- context/
| `-- package.json
|-- ml-service/
| |-- main.py
| `-- requirements.txt
`-- Documentation/
|-- SRS.md
|-- architecture.md
|-- use_cases.md
|-- security.md
`-- contribute.md
|-- .github/
| |-- PULL_REQUEST_TEMPLATE.md
| `-- ISSUE_TEMPLATE/
| |-- bug_report.yml
| |-- feature_request.yml
| |-- question.yml
| `-- config.yml
`-- contribution.md
Follow these steps to run the full project locally.
cd backend
pnpm install
cp .env.example .env
pnpm dev- Runs on: http://localhost:5000
- You can override the port using the
PORTenvironment variable.
cd frontend
pnpm install
pnpm dev- Runs on: http://localhost:3000
Create a .env.local file in frontend/ with:
NEXT_PUBLIC_API_BASE_URL=http://localhost:5000/apicd ml-service
python -m venv .venvActivate virtual environment:
- Windows (PowerShell):
.\.venv\Scripts\Activate.ps1- macOS/Linux:
source .venv/bin/activatepip install -r requirements.txt
uvicorn main:app --reload --port 8000- Runs on: http://localhost:8000
| Service | Endpoints |
|---|---|
| Auth | /api/auth/* |
| Commerce | /api/v1/commerce/* |
| Food | /api/food/* |
| Resources | /api/v1/resources/* |
| Emergency | /api/v1/emergency/* |
| ML Health | GET /health |
All detailed documentation is available inside the Documentation/ folder:
SRS.md— Software Requirements Specificationarchitecture.md— System design & architectureuse_cases.md— Functional scenariossecurity.md— Security considerationscontribute.md— Contribution guide
Additional:
contribution.md— Setup, workflow, PR guidelines
We follow a structured Git workflow:
feat/<feature-name>fix/<bug-name>docs/<topic>
feat(module): short descriptionfix(module): short descriptiondocs: update <topic>
Make sure to:
- Keep PRs focused and small
- Write clear descriptions
- Link related issues
👉 See contribution.md for complete guidelines.
This project currently does not include a license.
You can add one by creating a LICENSE file (e.g., MIT License).

