A modern, highly scalable crowdfunding platform empowering creators to fund their projects with the support of their fans—one chai at a time.
Get Me A Chai is a full-stack web application designed to bridge the gap between creators and their supporters. Built with performance and user experience in mind, this platform allows creators to set up personalized portfolios, receive secure financial support, and interact with their community seamlessly.
The project features a custom-built, interactive Chai AI Support Assistant to guide users through navigation, creator discovery, and payment processes without friction.
- 🔒 Secure Authentication: OAuth integration (GitHub/Google) using NextAuth.js for seamless and secure user onboarding.
- 💳 Payment Gateway Integration: Fully functional real-time payment processing powered by Razorpay.
- 🤖 Smart Support Chatbot (Chai AI): A custom, menu-driven conversational assistant designed to help users navigate the platform, resolve payment queries, and find creators.
- 🗄️ Robust Database Architecture: Scalable NoSQL database design using MongoDB and Mongoose to handle user profiles, transaction logs, and dynamic content.
- 🎨 Premium & Responsive UI: A modern, luxury-inspired user interface built with Tailwind CSS, ensuring a flawless experience across all devices.
- ⚡ Server-Side Rendering (SSR): Optimized performance and SEO utilizing Next.js 14 Server Actions and App Router.
- Frontend: Next.js (App Router), React.js, Tailwind CSS, Framer Motion (for UI animations).
- Backend: Node.js, Next.js Server Actions.
- Database: MongoDB, Mongoose ORM.
- Payments: Razorpay API.
- Authentication: NextAuth.js.
Follow these instructions to set up the project locally on your machine.
- Node.js (v18.x or later)
- MongoDB Account / Local MongoDB Server
- Razorpay Test Account Credentials
-
Clone the repository:
git clone [https://github.com/pro472/MAJOR-PROJECT.git](https://github.com/pro472/MAJOR-PROJECT.git)
-
Navigate to the project directory:
cd MAJOR-PROJECT -
Install dependencies:
npm install
-
Set up Environment Variables: Create a
.env.localfile in the root directory and add the following keys (see.env.examplefor details):MONGODB_URI=your_mongodb_connection_string GITHUB_ID=your_github_oauth_id GITHUB_SECRET=your_github_oauth_secret NEXT_PUBLIC_RAZORPAY_KEY=your_razorpay_key_id RAZORPAY_SECRET=your_razorpay_secret NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret
-
Run the development server:
npm run dev
Open http://localhost:3000 in your browser to view the application.
├── app/ # Next.js App Router (Pages & API Routes)
├── components/ # Reusable UI Components (Navbar, ChatBot, etc.)
├── models/ # MongoDB Mongoose Schemas (User, Payment)
├── db/ # Database connection utilities
├── actions/ # Server Actions for backend logic
├── public/ # Static assets (Images, Icons)
└── .env.example # Environment variables template