https://github.com/dev-emekaa/anon-witness
An AI-Powered Eye-Witness & Incident reporting platform that enables users to anonymously submit eye-witness updates and exact location on crimes and emergency situations.
https://github.com/dev-emekaa/anon-witness
gemini-ai mapbox nextauth nextjs postgresql prisma typescript
Last synced: 3 months ago
JSON representation
An AI-Powered Eye-Witness & Incident reporting platform that enables users to anonymously submit eye-witness updates and exact location on crimes and emergency situations.
- Host: GitHub
- URL: https://github.com/dev-emekaa/anon-witness
- Owner: dev-emekaa
- Created: 2025-02-03T16:14:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-13T11:46:41.000Z (over 1 year ago)
- Last Synced: 2025-03-20T20:13:45.802Z (over 1 year ago)
- Topics: gemini-ai, mapbox, nextauth, nextjs, postgresql, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 191 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 📋 Table of Contents
1. [About](#about)
2. [Tech Stack](#tech-stack)
3. [Features](#features)
4. [Quick Start](#quick-start)
## About
AnonWitness is an AI-Powered Eye-Witness & Incident reporting platform that enables users to anonymously submit eye-witness updates and exact location on crimes and emergency situations.
## Tech Stack
- Next.js
- TypeScript
- NextAuth for Authentication
- Neon PostgreSQL database
- Prisma
- React Hook Form
- Tailwind CSS
- Shadcn-ui
- GeminiAI
- Bcrypt for Password Encryption
## Features
- **Anonymous Reporting**: Report Incidents without revealing Your Identity.
- **Precise Location**: Share accurate incident location by just the tap of a button.
- **Live Photo Upload**: Capture and Share Images directly from the scene.
- **AI Genrated Captions**: AI scans images, and generates precise incident descriptions and captions.
- **Progress Tracking**: Monitor submitted reports and their progress.
- **Secure Communication**: Two-way secure communication channel with law enforcement.
## Quick Start
Follow these steps to set up the project locally on your machine.
**Prerequisites**
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)
**Cloning the Repository**
```bash
https://github.com/dev-hunterr/anon-witness.git
cd anon-witness
```
**Installation**
```bash
# Install dependencies
npm install
# Set up the database
npx prisma generate
npx prisma db push
# Start the development server
npm run dev
```
**Environment Setup**
Create a `.env` file in the root directory with the following variables:
```env
NEXT_PUBLIC_MAPBOX_API_KEY=your-mapbox-key
DATABASE_URL=postgresql:your-database-url
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000/api/auth"
GEMINI_API_KEY=your-gemini-api-key
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your-mapbox-access-api-key
```
**Deployment**
The application can be easily deployed on [Vercel](https://vercel.com):
1. Push your code to a Git repository
2. Connect your repository to Vercel
3. Configure the environment variables
4. Deploy!