A national lost and found database for Kenyans to help reconnect people with their lost items and help those who have found items to return them to their rightful owners.
# Lost and Found Kenya
A national lost and found database for Kenyans to help reconnect people with their lost items and help those who have found items to return them to their rightful owners.
## Project Overview
This open-source platform allows users to:
- Report lost items with detailed descriptions and images
- Report found items to help owners locate them
- Search for items by categories, locations, and keywords
- Claim ownership of found items
- Communicate securely through the platform
## Tech Stack
- **Backend**: Go with Gin framework
- **Database**: PostgreSQL with GORM ORM
- **Authentication**: JWT
- **Storage**: Google Cloud Storage for images
- **Caching**: Redis (optional)
## Project Structure
```
/lost-and-found-kenya
├── cmd/ # Application entry points
│ └── api/ # API server
│ └── main.go # Main application entry point
├── internal/ # Private application code
│ ├── config/ # Configuration handling
│ ├── models/ # Domain models (database models)
│ ├── repository/ # Database access layers
│ ├── service/ # Business logic
│ ├── handler/ # HTTP API handlers
│ ├── middleware/ # HTTP middleware
│ ├── router/ # Route configuration
│ └── util/ # Utility functions
│ └── storage/ # Storage utilities
├── pkg/ # Public libraries that can be used by external applications
├── migrations/ # Database migrations
├── docs/ # Documentation
├── scripts/ # Build and deployment scripts
├── .github/ # GitHub workflows for CI/CD
├── .gitignore
├── go.mod
├── go.sum
|── .env
└── README.md
```
## Getting Started
### Prerequisites
- Go 1.23 or higher
- PostgreSQL 14 or higher
- Google Cloud account with Storage access
- Docker and Docker Compose (optional)
### Setup Instructions
1. **Clone the repository**
```bash
git clone
github.com …