An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          





Image




nextdotjs
javascript
tailwindcss
tailwindcss

AnonWitness


An AI-Powered Eye-Witness & Incident reporting platform.

## 📋 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!