ShadowReport is a modern web application built using Next.js, TypeScript, Prisma, and Tailwind CSS that enables users to securely submit and track incident reports. It includes user authentication, a step-by-step reporting wizard, and an admin dashboard to review submitted reports.
ShadowReport simplifies the process of submitting and tracking sensitive or anonymous reports, such as safety incidents or internal observations. The platform ensures structured data collection through a form wizard, real-time tracking, and secure authentication.
- 🧩 Multi-step Report Wizard: Intuitive step-by-step report submission interface.
- 🔐 Authentication: Secure sign-up/sign-in using NextAuth.
- 📊 Dashboard: Overview of reports for authenticated users.
- 🗺️ Location Input: Select or enter a location for the incident.
- 📦 API Integration: RESTful API routes using the Next.js App Router.
- 💅 Tailwind CSS Styling: Clean and responsive design.
- 🔄 Report Tracking: Users can track the status of submitted reports.
| Layer | Technology |
|---|---|
| Frontend | React, Next.js (App Router) |
| Styling | Tailwind CSS, PostCSS |
| Backend/API | Next.js API Routes |
| Auth | NextAuth.js |
| Database | Prisma ORM, PostgreSQL |
| Language | TypeScript |
| Build Tools | Vite, tsconfig |
- Node.js ≥ 18
- PostgreSQL Database
- npm or yarn
-
Clone the Repository
git clone https://github.com/yourusername/ShadowReport.git cd ShadowReport -
Install Dependencies
npm install
-
Setup Environment Variables Create a
.envfile in the root and define:DATABASE_URL=postgresql://<user>:<password>@localhost:5432/<dbname> NEXTAUTH_SECRET=your-secret NEXTAUTH_URL=http://localhost:3000
-
Run Database Migrations
npx prisma migrate dev
-
Start the Development Server
npm run dev
