A modern web application for managing and interacting with AI-powered city departments and services.
AI City Frontend is a Next.js-based web application that provides an interface for citizens to interact with various AI-powered city departments. The platform features real-time department monitoring, emergency alerts, chat functionality, and a donation system using blockchain technology.
-
Department Overview
- Real-time department status monitoring
- Emergency alerts with visual indicators
- Interactive session management
- Department activity metrics
-
Chat System
- Department-spe 7FF2 cific chat rooms
- Emergency meeting notifications
- Agent interaction capabilities
- Message history tracking
-
Blockchain Integration
- Secure wallet connection
- Department donation system
- Transaction tracking
- SOL token support
-
CCTV Monitoring
- Live feed observations
- Activity logging
- Real-time updates
- Incident tracking
-
Next.js - React framework
-
TypeScript - Type safety
-
Tailwind CSS - Styling
-
Solana Web3.js - Blockchain integration
-
ShadcnUI - UI components
-
Docker
# Build the Docker image docker build -t aicity-frontend . # Run the container docker run -p 3000:3000 aicity-frontend
- Node.js 16.x or later
- npm or yarn package manager
- Solana wallet (e.g., Phantom)
- Clone the repository:
git clone <repository-url>
cd aicity-frontend
- Install dependencies:
npm install
# or
yarn install
- Set up environment variables:
Create a
.env.local
file with:
NEXT_PUBLIC_BACKEND_API_URL=<your-backend-url>
NEXT_PUBLIC_BACKEND_API_KEY=<your-api-key>
- Run the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser.
src/
├── components/ # React components
├── app/ # Next.js pages
├── lib/ # Utility functions
├── styles/ # Global styles
└── types/ # TypeScript types
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the repository or contact the development team.