Navigate Your Exam Preparation Journey with Precision and Confidence
EduWay is a comprehensive exam preparation platform that combines social learning, AI-powered assistance, and extensive study resources to help students excel in competitive examinations. Navigate to EduWay to access the site!
- Interactive Feed: Share success stories, study tips, and achievements
- Real-time Collaboration: Connect with study buddies and form study groups
- Community Engagement: Like, comment, and interact with posts
- Study Buddy Requests: Find and connect with like-minded learners
- Intelligent Q&A: Ask questions and get AI-powered responses using Groq API
- Question Generation: Generate practice questions for any topic
- Study Group Chat: Real-time messaging with AI assistance
- Smart Moderation: Content filtering and safety features
- Official Papers: Access to real previous year question papers from:
- UPSC CSE (Civil Services Examination)
- NEET UG (Medical Entrance)
- JEE Main (Engineering Entrance)
- GATE (Postgraduate Engineering)
- PDF Viewer: Integrated document viewer for seamless reading
- Organized by Year: 10+ years of question papers (2015-2024)
- Official Sources: Direct links to NTA, UPSC, and IIT Bombay websites
- Detailed Exam Guides: Comprehensive information about major competitive exams
- Syllabus Breakdown: Subject-wise syllabus coverage
- Career Pathways: Job opportunities and career guidance
- Important Dates: Exam schedules and deadlines
- Calendar Integration: Add exam dates to your calendar
- Profile Management: Personal study progress tracking
- Achievement System: Track your learning milestones
- Notification Center: Stay updated with study reminders
- Progress Analytics: Visual progress tracking
- React 18 - Modern React with hooks and concurrent features
- Vite - Fast build tool and development server
- CSS3 - Custom styling with CSS variables and animations
- Lucide Icons - Beautiful, consistent icon library
- React Router - Client-side routing
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database with Mongoose ODM
- JWT - JSON Web Token authentication
- Socket.io - Real-time communication
- Multer - File upload handling
- Groq API - Fast AI inference for question answering
- OpenAI Moderation - Content safety and filtering
- Cloudinary - Image hosting and optimization
- Node.js 18+ and npm
- MongoDB (local or cloud instance)
- Git
- Clone the repository
git clone https://github.com/Byte-ne/Final-Hackathon.git
cd Final-Hackathon- Install dependencies
# Install server dependencies
cd server
npm install
# Install client dependencies
cd ../client
npm install
# Return to root
cd ..- Environment Setup
Create .env file in /server directory:
# Database
MONGODB_URI=mongodb://localhost:27017/eduway
# or use MongoDB Atlas: mongodb+srv://username:password@cluster.mongodb.net/eduway
# JWT Secret
JWT_SECRET=your_super_secret_jwt_key_here
# AI API Keys
GROQ_API_KEY=your_groq_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
# Optional: Cloudinary for image uploads
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# Server Configuration
PORT=5000
NODE_ENV=development- Start the Application
# From project root
npm run devThis will start both the client (http://localhost:3000) and server (http://localhost:5000) concurrently.
# Terminal 1: Start the server
cd server
npm run dev
# Terminal 2: Start the client
cd client
npm run dev- Sign Up: Create your account with email and password
- Complete Profile: Add your study preferences and goals
- Explore Feed: Browse success stories and study tips from the community
- Access Study Tools: Use AI assistant for doubt clearing and question generation
- Practice Papers: Download and solve previous year question papers
- Connect: Send study buddy requests and join study groups
- Share Success Stories: Post your exam achievements and tips
- Create Study Groups: Form groups for collaborative learning
- Moderate Content: Help maintain a positive learning environment
Final-Hackathon/
βββ client/ # React Frontend
β βββ public/
β βββ src/
β β βββ assets/ # Static assets (background.png)
β β βββ components/ # Reusable React components
β β β βββ LoadingScreen.jsx
β β β βββ ProtectedRoute.jsx
β β βββ pages/ # Main application pages
β β β βββ App.jsx # Main app component
β β β βββ Feed.jsx # Social feed page
β β β βββ Study.jsx # AI study assistant
β β β βββ QuestionBank.jsx # Previous year papers
β β β βββ ExamDetails.jsx # Exam information
β β β βββ Login.jsx
β β β βββ Signup.jsx
β β β βββ Profile.jsx
β β βββ style.css # Global styles
β β βββ main.jsx # App entry point
β βββ package.json
βββ server/ # Express Backend
β βββ models/ # MongoDB schemas
β β βββ User.js
β β βββ Post.js
β β βββ Challenge.js
β β βββ Group.js
β βββ routes/ # API endpoints
β β βββ auth.js # Authentication
β β βββ posts.js # Feed management
β β βββ groups.js # Study groups
β β βββ study.js # AI study features
β β βββ users.js # User management
β βββ utils/ # Utility functions
β β βββ moderation.js # Content moderation
β βββ .env.example # Environment template
β βββ index.js # Server entry point
βββ README.md
POST /api/auth/register # User registration
POST /api/auth/login # User login
GET /api/auth/profile # Get user profile
PUT /api/auth/profile # Update user profile
GET /api/posts # Get all posts
POST /api/posts # Create new post
POST /api/posts/:id/like # Like/unlike post
POST /api/posts/:id/comment # Add comment to post
DELETE /api/posts/all # Delete all posts (admin)
GET /api/groups # Get user's groups
POST /api/groups # Create study group
POST /api/groups/:id/join # Join study group
POST /api/groups/:id/message # Send message in group
POST /api/study/ask # Ask AI a question
POST /api/study/generate # Generate practice questions
{
name: String,
email: String,
password: String,
profilePic: String,
bio: String,
posts: Array,
studyGroups: Array,
achievements: Array,
createdAt: Date
}{
author: ObjectId,
title: String,
content: String,
media: Array,
tags: Array,
likes: Array,
comments: [{
author: ObjectId,
text: String,
createdAt: Date
}],
studyRequests: Array,
createdAt: Date
}{
name: String,
description: String,
members: Array,
messages: [{
author: ObjectId,
content: String,
type: String,
createdAt: Date
}],
createdAt: Date
}We welcome contributions to EduWay! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and test thoroughly
- Commit with descriptive messages
- Push to your fork and create a Pull Request
- Code Style: Follow ESLint configuration
- Testing: Test all new features on multiple browsers
- Documentation: Update README for new features
- Commits: Use conventional commit format
- π Bug Fixes: Help improve stability
- β¨ New Features: Add study tools, exam coverage
- π¨ UI/UX: Improve design and user experience
- π± Mobile: Enhance mobile responsiveness
- π i18n: Add multi-language support
- π Analytics: Add progress tracking features
This project is licensed under the MIT License - see the LICENSE file for details.
- Icons: Lucide React for beautiful icons
- AI: Groq for fast AI inference
- Hosting: MongoDB Atlas for database
- Images: Unsplash for hero images
- Fonts: Google Fonts for typography
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@eduway.dev
Built with β€οΈ for students, by developers who understand the struggle of competitive exam preparation.
β Star this repo if you found it helpful!