ImpactOne is a modern, AI-powered web application designed to streamline resource booking, venue management, and event planning within an organization. It features intelligent venue recommendations powered by Google Genkit & Gemini, robust authentication via Clerk, and a comprehensive dashboard for tracking bookings and history.
- 🛡️ Secure Authentication: User management and role-based access control powered by Clerk.
- 🤖 AI Venue Recommender: Smart venue suggestions based on attendee count and facility requirements using Google Genkit.
- 📅 Booking Management: Interactive calendar for scheduling venues, resources, and equipment.
- 📊 Admin Dashboard: Centralized control for managing approvals, users, and system settings.
- 📜 History & Logs: Detailed tracking of all booking activities and status updates.
- 📄 Reports: Generate PDF reports and certificates (using
jspdf&html2canvas). - 📱 Responsive Design: Fully responsive UI built with Tailwind CSS and Radix UI.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS, Radix UI, Lucide React
- Database: Supabase / Firestore
- Authentication: Clerk
- AI / LLM: Google Genkit (Gemini 2.5 Flash)
- State Management: React Hook Form, Zod
Ensure you have the following installed:
-
Clone the repository
git clone https://github.com/your-username/impactone.git cd impactone -
Install dependencies
npm install # or pnpm install -
Configure Environment Variables Create a
.env.localfile in the root directory and add the following keys:# Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key # Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key # Google AI (Genkit) GOOGLE_GENAI_API_KEY=your_google_ai_api_key
-
Run the Development Server
npm run dev
Note: The application runs on port 9002 by default.
Open http://localhost:9002 in your browser.
The project uses Google Genkit for AI capabilities. To start the Genkit developer UI:
npm run genkit:devThis allows you to test and debug AI flows like the recommendVenueFlow.
The easiest way to deploy your Next.js app is using the Vercel Platform.
- Push your code to a GitHub repository.
- Import the project into Vercel.
- Add the Environment Variables (from step 3) in the Vercel project settings.
- Click Deploy.
Alternatively, you can build and start the production server locally:
npm run build
npm startContributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.