- 🤖 Introduction
- ⚙️ Tech Stack
- 🔋 Features
- 🤸 Quick Start
- 🕸️ Environment Setup
- 🚀 Deployment
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.
- Next.js 14
- TypeScript
- Prisma with Neon Database
- NextAuth.js for Authentication
- Tailwind CSS
- React Hook Form
- GeminiAI
- BCrypt for Password Encryption
Prerequisites
Make sure you have the following installed:
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
Create a .env
file in the root directory with the following variables:
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:
- Push your code to a Git repository
- Connect your repository to Vercel
- Configure the environment variables
- Deploy!
Contributions are welcome! Please read our Contributing Guidelines first.
This project is licensed under the MIT License - see the LICENSE file for details.