Skip to content

Latest commit

 

History

History
92 lines (67 loc) · 2.31 KB

README.md

File metadata and controls

92 lines (67 loc) · 2.31 KB

🛡️ Anonymous Reporting App

A secure platform for anonymous incident reporting.

image


📋 Table of Contents


🤖 Introduction

This is a state-of-the-art anonymous reporting system built with Next.js 14, designed to provide a secure platform for reporting incidents while maintaining complete anonymity.


⚙️ Tech Stack

  • Next.js 14
  • TypeScript
  • Prisma with Neon Database
  • NextAuth.js for Authentication
  • Tailwind CSS
  • React Hook Form
  • GeminiAI
  • BCrypt for Password Encryption

🔋 Features

  • Secure Anonymous Reporting: Ensures privacy with robust encryption.
  • Role-Based Access: Admin panel for report management.
  • Real-Time Updates: Instantly see report status changes.
  • User Authentication: Powered by NextAuth.js.
  • Responsive Design: Optimized for mobile and desktop.
  • AI-Powered Insights: Integrated with GeminiAI for advanced reporting.

🤸 Quick Start

Prerequisites

Make sure you have the following installed:

  • Node.js
  • npm
  • Git

Installation

# Clone the repository
git clone <your-repo-url>
cd anonymous-reporting-system

# Install dependencies
npm install

# Set up the database
npx prisma generate
npx prisma db push

# Start the development server
npm run dev

 
## <a name="environment">🕸️ Environment Setup</a>

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

The application can be easily deployed on Vercel:

  1. Push your code to a Git repository
  2. Connect your repository to Vercel
  3. Configure the environment variables
  4. Deploy!