Skip to content

This app is designed for students of a course to ask questions about a specific course assignment. Other students, whether they are past are present students, can answer those questions and post helpful resources.

Notifications You must be signed in to change notification settings

mnaser11218/ClassQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Logo

Class-Query · Build Status npm PRs Welcome GitHub license

Welcome to Class Query! A full-stack web application designed to foster a collaborative and interactive learning environment. Class Query allows teachers to post assignments and students to ask, answer, and interact with course-related questions. It's built with features inspired by Stack Overflow, but with a focus on educational content. The app integrates AI-driven features via the OpenAI API, enriching the learning experience.

Teachers post assignments, and students engage by asking and answering questions, enabling a more dynamic and resourceful teaching environment.


🚀 Tech Stack

  • Frontend: React, Axios, JavaScript, HTML, CSS
  • Backend: Java SpringBoot, JPA, JDBC, H2
  • Testing: Cypress (React Component tests), JMeter (Stress and Performance testing)

🖼️ Screenshots

Students can post answers, ask for AI-assisted responses, and engage with the content:

Student Engagement Question Answering

AI-driven features for grammar check, translation, and more:

AI Features


🧠 AI Features with OpenAI API

Class Query integrates AI features powered by OpenAI, including:

  • Grammar Check: Improve the quality of your questions/answers.
  • Translation: Translate your content to different languages.
  • Rewording: Get alternate phrasing for your content.
  • ChatGPT Assistance: Ask questions or seek help directly from the AI.

🌟 Key Features

  • Assignments: Teachers can post multiple assignments, each with relevant tags.
  • Q&A: Students can post questions and answers, with support for multiple tags per question.
  • AI Features: Integrated OpenAI API for grammar checking, translation, rewording, and AI assistance.
  • Animations: Interactive animations powered by the Lottie-React library for a more dynamic user experience.
  • Testing: Comprehensive testing coverage with Cypress (End-to-End testing) and JMeter (Stress testing).

Feature Screenshot


📦 Installation

Prerequisites

Ensure you have the following installed on your machine:

  • Node.js (v14.x or above)
  • Java 8+ (for the backend)

Steps:

  1. Clone the repository:
git clone https://github.com/mnaser11218/Class-Query.git
cd passion-project-frontend/
npm start

Navigate to localhost:3000 to view frontend

To open Backend:

Navigate to the backend directory and execute:

./mvnw

Navigate to localhost:8080 to view backend

Contributing

We welcome contributions to improve ClassQuery! If you'd like to contribute, please follow these steps:

1. Fork the Repository

Click the Fork button at the top right of the repository to create your own copy of the project.

2. Clone Your Fork

Clone your forked repository to your local machine:

git clone https://github.com/yourusername/ClassQuery.git

3. Create a New Branch

Create a new branch for your feature or bugfix:

git checkout -b feature/your-feature

4. Make Your Changes

Make your changes or add new features. Please follow the code style of the project and ensure that your changes don't break any existing functionality. You can also add tests for your changes if applicable.

5. Commit Your Changes

Once you've made the necessary changes, commit your changes with a meaningful commit message:

git commit -m "Add feature or fix bug"

6. Push to Your Branch

Push your changes to your forked repository:

git push origin feature/your-feature

7. Create a Pull Request

Go to the Pull Requests tab on the GitHub repository, and click New Pull Request. Provide a description of your changes, and create the pull request. We will review your pull request and provide feedback. Please be patient as we may have other contributions to review.


Thank you for reading and we appreciate any feedback!

About

This app is designed for students of a course to ask questions about a specific course assignment. Other students, whether they are past are present students, can answer those questions and post helpful resources.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published