A collaborative project by Saumya Sharma, Shiv Sablok, Prince Kumar Singh, and Jeetu Singh.
STRUCT {STUDIES} is a robust student management system designed to streamline academic activities such as quizzes, video lectures, and chatbot interactions. Developed collaboratively by Saumya Sharma, Shiv Sablok, Prince Kumar Singh, and Jeetu Singh, this project aims to enhance the learning experience through an interactive and user-friendly platform.
The project is divided into two main components:
- Backend: Handles server-side logic, database interactions, and API endpoints.
- Frontend: Manages the user interface and client-side interactions.
- Node.js: A runtime environment for executing JavaScript on the server.
- Express.js: A web application framework for building APIs.
- MongoDB: A NoSQL database for storing application data.
- dotenv: For managing environment variables securely.
- Fuse.js: A library for fuzzy searching.
- Natural: A natural language processing library for chatbot functionality.
- Navigate to the
chatbot-backenddirectory. - Install dependencies:
npm install
- Configure environment variables in a
.envfile:PORT=5000 MONGODB_URI=your_mongodb_connection_string - Start the server:
npm start
POST /api/chatbot: Processes user messages and returns chatbot responses.POST /api/quiz: Saves quiz results to the database.
- Database Connection: Configured in
config/db.jsto establish a connection with MongoDB. - Chatbot Controller: Located in
controller/chatbot.controller.js, it processes user inputs and generates responses using NLP tools like Natural and Fuse.js. - Quiz Controller: Found in
controller/quizController.js, it handles quiz submissions and stores results in MongoDB. - Routes: API routes are defined in
routes/chatbot.routes.jsandroutes/quizRoutes.js. - Server Setup: The Express server is initialized in
server.js.
- React: A library for building dynamic user interfaces.
- Vite: A fast build tool for modern web development.
- Axios: For making HTTP requests to the backend.
- Tailwind CSS: A utility-first CSS framework for styling.
- Navigate to the
vite-projectdirectory. - Install dependencies:
npm install
- Start the development server:
npm run dev
- Chatbot.jsx: Manages chatbot interactions and displays responses.
- Explore.jsx: Provides an interface for browsing subjects and units.
- Subject.jsx: Lists available subjects for study.
- UnitPage.jsx: Displays units within a subject, including video lectures and quizzes.
- ContentPage.jsx: Shows detailed content for a specific unit.
- Homepage.jsx: Serves as the landing page with an overview of the platform.
- video/VideoPlaylist.jsx: Displays a playlist of video lectures.
- quiz/QuizPage.jsx: Handles quiz interactions and submissions.
- ScrollToTop.jsx: Ensures smooth navigation by scrolling to the top on route changes.
- App Component: Configures routing in
src/App.jsxto manage navigation across the platform. - Chatbot Component: Implements chatbot functionality in
src/components/Chatbot.jsxusing Axios for API communication. - Quiz Page Component: Located in
src/components/quiz/QuizPage.jsx, it fetches quiz data and handles user submissions. - Video Playlist Component: Found in
src/components/video/VideoPlaylist.jsx, it organizes and displays video lectures.
- Chatbot Interaction: Users can ask questions and receive responses from the chatbot, which leverages NLP for understanding queries.
- Quiz Management: Users can participate in quizzes, with results stored in the database for future reference.
- Video Lectures: Users can access video lectures categorized by subjects and units, enhancing their learning experience.
STRUCT {STUDIES} is a feature-rich student management system that integrates multiple academic functionalities into a cohesive platform. This README provides a detailed overview of the project's structure, technologies, setup instructions, and use cases, highlighting its potential to transform the learning experience.