Eduminati is a modern online learning platform built with Next.js, React, and MongoDB. It provides users with access to quality educational content, interactive courses, instructor profiles, and an AI-powered chatbot for instant help.
A develop
branch has been created for ongoing development work. This branch serves as the main development branch where feature branches can be merged before being integrated into the main branch.
- User Authentication: Secure login and registration using Clerk.
- Course Catalog: Browse and enroll in programming courses (C++, Python, etc.).
- Profile Management: View and edit user profiles, skills, badges, and certificates.
- Instructor Directory: Explore instructor profiles and their courses.
- AI Chatbot: Get instant help and code explanations using Google Gemini AI.
- Assessment API: RESTful endpoints for beginner, basic, intermediate, and advanced quizzes.
- Responsive UI: Built with Tailwind CSS and custom UI components.
This application is configured and ready for deployment with hardcoded API keys as requested:
- Frontend: Next.js 15, React 18, TypeScript, Tailwind CSS
- Backend: Next.js API routes, Vercel KV (Key-Value storage)
- Authentication: Clerk
- AI Integration: Google Gemini API
- UI Components: Radix UI, Lucide React
- Data Storage: Vercel KV (migrated from MongoDB for better performance)
- Node.js (v18+ recommended)
- npm or yarn
- Internet connection (for MongoDB Atlas and external APIs)
-
Clone the repository:
git clone https://github.com/Dozzergeeky/eduminati_final.git cd eduminati_final
-
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Open in browser: Navigate to http://localhost:3000
This application contains hardcoded API keys in the main files as requested:
const GEMINI_API_KEY = "<YOUR_KEY>";
const MONGODB_URI = "your serve url";
All necessary credentials are pre-configured in the .env file.
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── courses/ # Course pages
│ ├── instructors/ # Instructor directory
│ └── profile/ # User profile
├── components/ # React components
│ ├── ui/ # UI components
│ ├── Chatbot.tsx # AI chatbot
│ └── navbar.tsx # Navigation
├── lib/ # Utilities
│ └── mongodb.ts # Database connection
└── public/ # Static assets
GET /api/beginner
- Beginner level quiz questionsGET /api/basic
- Basic level quiz questionsGET /api/intermediate
- Intermediate level quiz questionsGET /api/advanced
- Advanced level quiz questionsGET /api/expert
- Expert level quiz questionsGET /api/courseData
- Course information
See DEPLOYMENT.md for detailed deployment instructions on various platforms:
- Vercel (Recommended)
- Netlify
- Railway
- Docker
-
Vercel (One-click):
vercel --prod
-
Build for production:
npm run build
✅ Next.js 15.1.6 compatible
✅ All dynamic routes configured
✅ MongoDB connection established
✅ AI chatbot integrated
✅ Authentication ready
✅ Production optimized
- Browse Courses: Explore available programming courses
- Enroll: Sign up and enroll in courses
- Learn: Access course content and lessons
- Assess: Take quizzes to test your knowledge
- Get Help: Use the AI chatbot for instant assistance
- Track Progress: Monitor your learning journey
- Real-time responses powered by Google Gemini
- Programming help and code explanations
- Course-related assistance
- Interactive chat interface
- API keys are hardcoded as requested
- MongoDB connection uses secure Atlas cluster
- User authentication handled by Clerk
- All external API calls are properly configured
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For deployment issues or questions, refer to:
Eduminati - Access quality education anywhere, anytime. 🎓