A modern, AI-powered anonymous reporting system built with React, TypeScript, and Supabase.
- 🔒 Anonymous Reporting - Submit reports without revealing identity
- 🤖 AI Analysis - Automatic content analysis and categorization
- 📊 Dashboard - Real-time analytics and filtering
- 📱 Responsive Design - Works on all devices
- 🎨 Modern UI - Built with Tailwind CSS and shadcn/ui
- 📈 Data Visualization - Charts and statistics
- 🔍 Advanced Filtering - Filter by category, status, priority
- 📄 Export - PDF and CSV export functionality
- Node.js 18+ or Bun
- Supabase account (optional - works in demo mode)
-
Clone the repository
git clone https://github.com/annbbbb/Anonymous_reporter.git cd Anonymous_reporter -
Install dependencies
npm install # or bun install -
Start development server
npm run dev # or bun dev -
Open in browser
http://localhost:8080
The app works out of the box with 10 sample reports across all categories.
-
Create a
.envfile:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Run database setup scripts in Supabase:
FIXED-database-setup.sqlFIXED-sample-data.sql
src/
├── components/ # Reusable UI components
├── pages/ # Main application pages
├── services/ # API and business logic
├── types/ # TypeScript type definitions
├── lib/ # Utilities and configurations
└── index.css # Global styles
- Safety - Safety concerns and hazards
- Financial - Financial misconduct and corruption
- Environmental - Environmental issues and pollution
- Legal - Legal violations and corruption
- Workplace - Workplace harassment and discrimination
- Other - Other issues not covered above
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS, shadcn/ui
- Backend: Supabase (PostgreSQL)
- Charts: Recharts
- Icons: Lucide React
- Routing: React Router
The app uses two main tables:
reports- Stores anonymous reportslocations- Stores location data
See FIXED-database-setup.sql for full schema.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details
For issues and questions, please open a GitHub issue.
Built with ❤️ for anonymous reporting