A modern civic engagement platform built with Next.js, React, and TypeScript. VoxCivis provides a comprehensive solution for community reporting and civic participation.
- Interactive Map Interface: Built with Leaflet and React-Leaflet for geographic data visualization
- Modern UI/UX: Beautiful interface using Radix UI components and Tailwind CSS
- Mobile Responsive: Optimized for both desktop and mobile devices
- Report Submission: Integrated Google Forms for community reporting
- Real-time Updates: Dynamic filtering and data visualization
- Accessibility: Built with accessibility in mind using Radix UI primitives
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS with custom animations
- UI Components: Radix UI primitives with custom styling
- Maps: Leaflet with React-Leaflet
- Forms: React Hook Form with Zod validation
- Mobile: Capacitor for mobile app capabilities
- Package Manager: pnpm
-
Clone the repository:
git clone https://github.com/GIOVESS/vox-civis.git cd vox-civis -
Install dependencies:
pnpm install
-
Set up environment variables (if needed):
cp .env.example .env.local
-
Run the development server:
pnpm dev
-
Open your browser and navigate to
http://localhost:3000
vox-civis/
├── app/ # Next.js app directory
│ ├── about/ # About page
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # Reusable components
│ ├── ui/ # UI components (Radix-based)
│ ├── filters.tsx # Report filters
│ ├── header.tsx # Navigation header
│ └── map-*.tsx # Map-related components
├── hooks/ # Custom React hooks
├── lib/ # Utility libraries
├── types/ # TypeScript type definitions
└── public/ # Static assets
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run ESLint
- Interactive geographic visualization
- Real-time data filtering
- Community report locations
- Mobile-optimized map controls
- Integrated Google Forms for easy reporting
- Mobile-friendly submission process
- Community-driven data collection
- WCAG compliant components
- Keyboard navigation support
- Screen reader friendly
- High contrast mode support
This project includes Capacitor configuration for potential mobile app deployment:
# Build for mobile
pnpm build
npx cap add android
npx cap add iosWe welcome contributions! Please feel free to submit issues and pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
VoxCivis - Empowering communities through civic technology.