Questia is a classroom management and assessment platform designed to empower teachers and students through AI-driven tools. Teachers can create classrooms, generate assignments with AI assistance, and provide instant feedback to students, while students can seamlessly access and review their assignments in a structured, interactive environment.
Watch the demo of Questia in action here or visit the website here.
The inspiration for Questia stems from the need for a streamlined, technology-driven solution to classroom management and student assessments. We wanted to make the process of creating, assigning, and grading assignments easier for teachers while also providing constructive feedback to students instantly. With the advancements in AI, we saw an opportunity to bridge the gap between traditional teaching methods and modern educational tools.
- 🏫 Classroom Creation: Teachers can log into their dashboard and create a classroom, which generates a unique code.
-
✏️ Assignment Creation: Teachers can create assignments (with a choice of level hardness, number of multiple-choice and subjective questions and the grade level of questions) with the help of AI assistance.

-
✏️ Assignment Editing: Teachers can then edit the assignment if they are not satisfied before assigning it to the students.

-
📤 Assignment Assignment: Assign assignments to specific classrooms with just a few clicks.
-
📝 Review Answers: Teachers can view students' answers and track their progress.
-
📚 Join Classrooms: Students log into their dashboard and join classrooms using the provided code.

-
📑 Access Assignments: Access assignments assigned to them in specific classrooms.

-
💡 Instant Feedback: Submit answers and receive constructive feedback powered by AI instantly, even for subjective questions.
-
🔍 Review: Revisit their answers, correct solutions, and feedback on a dedicated review page.

- 🖥️ Frontend: Next.js and Tailwind CSS for a responsive and interactive user interface.
- 🌐 Backend: Flask framework for handling API requests and business logic.
- 💾 Database: NeonDB for managing user profiles, classrooms, assignments, and answers.
- 🧠 AI Integration: Gemini for generating questions, evaluating subjective answers, and providing feedback.
- 🔄 Version Control: GitHub for collaborative development and version management.
- 🌟 Seamless Classroom Management: Creating a smooth and user-friendly interface for both teachers and students.
- ✍️ AI-Assisted Assignment Generation: Integrating AI to assist teachers in creating diverse and dynamic assignments.
- 🔍 AI-Driven Feedback for Subjective Answers: Automating the evaluation of subjective answers to save teachers time and effort.
- 🚀 Instant Feedback System: Providing students with immediate and constructive feedback to foster learning.
- 📊 Efficient Database Management: Using NeonDB to manage complex relationships between classrooms, assignments, and users.
- 🤝 Collaboration: Successfully coordinating and implementing a full-stack application with modern tools and technologies.
- 🧠 Enhanced AI Feedback: Improve feedback mechanisms for subjective answers with more detailed and context-aware suggestions.
- 🎮 Gamification: Add features like leaderboards and badges to encourage student participation and engagement.
- 🧑👩👦 Parent Dashboard: Introduce a parent dashboard for monitoring student progress and performance.
- 🌍 Localization: Expand language support to make Questia accessible to a global audience.
- 📑 Exam Environment: Create a exam environment when the student attempts the assignment by not letting them open other tabs and having a timer.
Website is running on www.questia.live but since the backend hosting is on a free tier the feedback aspect doesnt work. To access all aspects of the website follow the steps:
- Node.js
- Python
- NeonDB credentials
- Clone the repository:
git clone https://github.com/your-username/questia.git
- Navigate to the project directory:
cd questia - Install dependencies for the frontend:
cd questia_frontend npm install --leagacy-peer-deps - Install dependencies for the backend:
cd questia_backend pip install -r requirements.txt - Set up the database using NeonDB and configure environment variables (GEMINI_API_KEY, DATABASE_URI, JWT_KEY)
- Configure enivronment variables in the frontend (NEXT_PUBLIC_BACKEND_URL, JWT_SECRET_KEY)
- Start the backend server:
cd questia_backend flask run --host=0.0.0.0 --port=8000 - Start the frontend server:
cd questia_frontend npm run dev - Open your browser and navigate to
http://localhost:3000.
- Thanks to our team for their dedication and hard work.
- Special thanks to the open-source community for providing the tools and frameworks used in this project.
- Inspired by the vision of making education more accessible and effective through technology.