A lost and found management system built with modern web technologies. Users can report lost items, and administrators can scan QR codes to verify and manage item claims.
This is a full-stack application consisting of three main components:
- API - Python/FastAPI backend with Gemini AI integration and Snowflake database
- Client-User - Next.js user interface for reporting lost items
- Client-Admin - Next.js admin interface for managing lost items and verifying users
- Report Lost Items - Upload photos and descriptions of lost items
- Manage Items - View and manage all lost items in the system
- User Verification - Confirm item claims
- AI Integration - Gemini AI automatically generates item descriptions from images
- Database - Snowflake integration for scalable data storage
- Responsive Design - Mobile-friendly UI with Tailwind CSS
git clone <repository-url>
cd conuhacks-xcd API
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python main.pycd client-user
npm install
npm run devcd client-admin
npm install
npm run devPOST /inquiries- Create a new lost item inquiryGET /inquiries- Get all inquiriesGET /inquiries/{id}- Get specific inquiryPOST /gemini/generate-description- Generate AI description from imagePOST /users- Create user accountPOST /auth/login- User authentication
For full API documentation, see API README
The system uses Snowflake for data storage. Key tables include:
- Inquiries - Lost item reports
- Users - User accounts
- Verifications - Item verification records
For database setup, see Snowflake Setup
DATABASE_URL=your_snowflake_url
GEMINI_API_KEY=your_gemini_key
cd client-user
npm run build
npm startcd client-admin
npm run build
npm start- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS
- Backend: Python, FastAPI
- Database: Snowflake
- AI/ML: Google Gemini API
/- Home page (report lost item)
/- Dashboard/scan- QR code scanner/items- Manage items