Git Product home page Git Product logo

quiz-creator's People

Contributors

drish-xd avatar prakhar-commits avatar pritamps avatar suryabulusu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

quiz-creator's Issues

Handle SignUp form name and Activate signup toogle

Handle SignUp form Name and Activate signUp toogle to be shown conditionally

  • if signup_form is true, if signup_form is false then no need to show.

  • if session type is "sign-in" or "sign-in with forgot id", signup_form should be false and signup_form_name will hide.

UI unresponsiveness due to lambda function

Description

When a user initiates an action like creating or editing a session, this triggers an AWS Lambda function to process the data and potentially store it in a database. Due to the time it takes the Lambda function to execute, there's a delay before the UI reflects the outcome of the action (success or failure). This delay creates a sense of lag or unresponsiveness in the UI, as the user waits to see the result of their action.

Expected Behavior

The UI should provide immediate/optimistic feedback upon form submission, indicating that the process is underway. The transition to completion of lambda function and show UI according to the result.

Current Behavior

The UI appears unresponsive after the form is submitted, leading to a degraded user experience.

Add Filters

Add Server Filters to the Tables

Using

  • group
  • parent/class batch
  • sub/class batch

[#56] Adding ShadCn UI

We are exploring the integration of ShadCn UI components into our project to enhance the user interface and streamline development.

Objectives

  1. Check the suitability of ShadCn UI components for meeting our project's design and functional requirements.
  2. Determine potential benefits such as improved UI consistency, developer productivity, and enhanced user experience.

Benefits

  1. Modern UI Components: ShadCn UI offers a robust library of modern, responsive UI components that can accelerate front-end development.
  2. Consistency: Ensures consistent UI across different sections of the application, enhancing usability and user satisfaction.
  3. Customization: Provides flexibility to customize styles and components.

Appending Data to the UI

Description

An interface to create quizzes for the Avanti Fellows Quiz Engine and Remove the Dependence on Google Sheets Completely

Goals

  • [Establish a basic structure of the Quiz-Creator ]
  • [Store the Dummy Data of the initial Frotend]
  • [Append the Data from the Forms]

Expected Outcome

At the end it should Remove the Dependence on Google sheets completely


Project

Quiz-Creator

Organization Name:

Avanti fellows

Mentor(s)

@suryabulusu @pritamps

Complexity

Medium

DMP 2024: Session Creator

Description

Avanti's online interventions consist of live classes and quizzes. Links are created for each and shared with students via various routes such as WhatsApp, Email, and SMS. Currently, these links are generated manually and stored in several Google Sheets. As we are growing and reaching more students, handling links across multiple spaces has become a cumbersome task. To mitigate this, we started off with a "Session Creator" web application in the previous C4GT iteration.

"Session Creator" platform is in a nascent stage as of now. Quiz link generation is automated, and a barebones UI is set up. Our goal for DMP 2024 is to enable live class generation, conduct pilot research tests with curriculum teams, improve UI/UX, and enhance overall maintainability of the repository.

Goals & Mid-Point Milestone

  • Prepare forms for live class generation
  • Add live class sessions to db
  • Code for duplicating / editing of live class sessions
  • Searching / filtering sessions based on certain keys (program, batch, start date, etc.)
  • Discord bot notifications for number of sessions created per day
  • (Mid Point) Pilot with curriculum team
  • Code for editing quizzes (currently, we have code to edit quiz sessions but its not fine-grained)
  • CI / CD setup with Github Actions
  • Unit tests with Jest (or any other testing service)
  • E2E tests with Cypress
  • Code for logging, monitoring
  • Continuous clean documentation

Setup/Installation

Current codebase is here: https://github.com/avantifellows/quiz-creator/

Expected Outcome

Frontend:
Curriculum team has a one-stop platform to create / edit / duplicate / filter sessions.

Backend:
Handling post / patch updates to Postgres DB.

Repository:
Neatly maintained, documented, tested code.

Acceptance Criteria

  • Create / Edit / Duplicate Quiz Sessions
  • Create / Edit / Duplicate Live Class Sessions
  • Curriculum team finds the UI easier to use than Google Sheets
  • CI/CD via Github Actions is implemented
  • E2E tests are written

Implementation Details

NextJS React Frontend (with server-side rendering) deployed on AWS Amplify, Postgres DB to store session information

Mockups/Wireframes

https://www.figma.com/file/odHslFwxkxBd31nynFZApk/Design---1---Code4GovTech?type=design&node-id=0-1&mode=design

Product Name

Session Creator

Organisation Name

Avanti Fellows

Domain

⁠Education

Tech Skills Needed

AWS, CI/CD, Database, Design, HTML, JavaScript, MongoDB, React, UI/UX/Design

Mentor(s)

@suryabulusu

Category

Delpoyment, Frontend, Refactoring

Handle Batches dropdown

TODO

  • Make class batch dropdown multi-select.
  • Show dropdown conditionally.
    • if platform is non quiz then hide Quiz/Parent Batch show only Class/Sub Batch.

Block typing in dropdown fields

Currently, we are able to type in dropdown fields. Infact, numbers seem to be allowed too.

Block this and think about ways to add new fields to dropdown. (this should require special permission)

analyzing the results and suggestions

here the quiz creator is very good but i think along with providing the quiz session and security , it can also provide the analysis of the performance and giving required tips for improvement actually suggesting the particular section of quiz where the improvement is needed and it can be found by time taken for each question . i think this is an issue that a participant should know his scope of improvement when he finished giving the quiz. this can be done my using artificial intelligence along with datascience.

Remove the @ mentions, and stop pinging existing accounts

Description

[Provide a brief description of the feature, including why it is needed and what it will accomplish. You can skip any of Goals, Expected Outcome, Implementation Details, Mockups / Wireframes if they are irrelevant]

Goals

  • [Goal 1]
  • [Goal 2]
  • [Goal 3]
  • [Goal 4]
  • [Goal 5]

Expected Outcome

[Describe in detail what the final product or result should look like and how it should behave.]

Acceptance Criteria

  • [Criteria 1]
  • [Criteria 2]
  • [Criteria 3]
  • [Criteria 4]
  • [Criteria 5]

Implementation Details

[List any technical details about the proposed implementation, including any specific technologies that will be used.]

Mockups / Wireframes

[Include links to any visual aids, mockups, wireframes, or diagrams that help illustrate what the final product should look like. This is not always necessary, but can be very helpful in many cases.]


Project

[Project Name]

Organization Name:

[Organization Name]

Domain

[Area of governance]

Tech Skills Needed:

[Required technical skills for the project]

Mentor(s)

Me
[@Mentor1] [@mentor2] [@Mentor3] <---- this is a mentioning to existing github users @suryabulusu @pritamps

Complexity

Pick one of [High]/[Medium]/[Low]

Category

Pick one or more of [CI/CD], [Integrations], [Performance Improvement], [Security], [UI/UX/Design], [Bug], [Feature], [Documentation], [Deployment], [Test], [PoC]

Sub Category

Pick one or more of [API], [Database], [Analytics], [Refactoring], [Data Science], [Machine Learning], [Accessibility], [Internationalization], [Localization], [Frontend], [Backend], [Mobile], [SEO], [Configuration], [Deprecation], [Breaking Change], [Maintenance], [Support], [Question], [Technical Debt], [Beginner friendly], [Research], [Reproducible], [Needs Reproduction].

Issue with Pagination: All Entries Displayed instead of Limit(10) on the single Page.

There is an issue with the pagination feature in the application. The expected behavior is that each page should display a maximum of 10 entries, as per the specified limit. However, currently, the application is showing all entries on the first page only, disregarding the set limit. This results in a single page containing all entries, which can negatively impact the user experience and performance, especially with a large dataset.

Steps to Reproduce:

  1. Navigate to the list of entries in the application.
  2. Observe the pagination behavior.

Expected Behavior:
Each page should display a maximum of 10 entries.

Actual Behavior:
All entries are displayed on a single page.

Before:
before pagination

After:
after pagination

I have resolved this issue in the pr #49

Store and Display User Data

Description

An interface to create quizzes for the Avanti Fellows Quiz Engine and Remove the Dependence on Google Sheets Completely

Goals

  • [Establish a basic structure of the Quiz-Creator ]
  • [Store the data of the user after forms are filled]
  • [ Display the stored data ]

Expected Outcome

[At the end it should Remove the Dependence on Google sheets completely]

Acceptance Criteria

  • [Remove the Dependence on google sheets completely]
  • [Responsiveness of the Web-application]
  • [Performance of the Web-application]

Implementation Details

[It uses NextJs , Tailwind CSS]

Mockups / Wireframes

[Include links to any visual aids, mockups, wireframes, or diagrams that help illustrate what the final product should look like. This is not always necessary, but can be very helpful in many cases.]


Project

[Quiz-Creator]

Organization Name:

[Avanti Fellows]

Domain

[Education]

Tech Skills Needed:

[Nextjs , TailwindCSS]

Mentor(s)

[@suryabulusu ] [@pritamps ]

Complexity

[Medium]

Error when Editing Sessions with Character IDs

Description

When creating a session, alphanumeric characters are accepted in the "CMS TEST ID" (also known as session id) field, allowing successful creation. However, when attempting to edit the same session which have alphanumeric characters in the session ID, an error occurs. To ensure consistency and prevent errors, a validator should be implemented in the "CMS TEST ID" field to disallow input of characters. Screenshots attached for reference.

image
Screen shot of error shown when clicking on edit icon for a session with characters in the session ID. See to the URI in the screenshot.

image
Screen shot of page shown when clicking on edit icon for session with only numbers in session ID.

Expected Behavior:

  • Validator restricts character input in "CMS TEST ID" field.
  • Consistent behavior between session creation and editing processes.

Current Behavior:

  • Session creation allows character input, but editing with characters causes errors.
  • Inconsistency in input validation for session ID field.

An interface to create quiz session for the Avanti Fellows Quiz Engine

Project Details

What is the Avanti Fellows Quiz Engine?

The Avanti Fellows Quiz Engine (backend and frontend) is an open source assessment platform built primarily to serve the after-school learning needs government school students across India. The platform supports multiple assessment types (digital OMR, NTA style testing, homework quizzes), many question types, and integrates with our open source reporting engine to make reports available to students.

How are quizzes created currently

Avanti Fellows has inherited a learning content platform that allows our curriculum team to create tests. These tests are then mapped to a timed quiz session via a session creator. The session creator does two things:

  1. Creates a quiz on our backend
  2. Creates a session that the students log in to via our authentication layer

Currently, we have a master Appsheet app connected to a Google Sheet where creators enter the session details. However, this is an error-prone process and doesn't allow for easy editing of the quiz.

Features to be implemented

Create a Vue or React based app that will replicate the functionality of the Google Sheet:

  1. Allow users to create a quiz session
  2. Allow users to delete a quiz session
  3. Allow users to update the details of an existing quiz session

Learning Path

Complexity: Medium
Skills Required: VueJS or React
Project Size: 1-2 months
Mentor: @pritamps

Milestones

  • Understanding Requirements
  • Working with our team to come up with a basic design
  • Implementing the app and integrating with our backends
  • Testing

num-test-takers-count should be integer.

Description

num-test-takers-count should be integer string is passing through

Goals

  • [Establish a basic structure of the Quiz-Creator ]
  • [Store the Dummy Data of the initial Frotend]
  • [Goal 3]
  • [Goal 4]
  • [Goal 5]

Expected Outcome

At the end it should Remove the Dependence on Google sheets completely

Project

Quiz-Creator

Organization Name:

Avanti-Fellows

Domain

[Area of governance]

Mentor(s)

@suryabulusu @pritamps

Complexity

Medium

Converting Next.js Pages Router to App-Router

We are considering converting our Next.js application from using the built-in pages router (pages directory structure) to using an app-router.

Benifits

  • Server-Side Rendering (SSR): An app-router can facilitate enhanced SSR capabilities, allowing more control over server-side actions and data fetching before rendering pages.
  • Server Actions Integration: Easier integration with server-side actions and APIs, enabling efficient server-side processing for dynamic content generation.
  • Page Speed Optimization: Potential for improved page load speeds through optimized routing configurations tailored to specific performance requirements.
  • Security: Using server API calls instead of client-side calls can prevent exposure of API keys, enhancing application security by keeping sensitive credentials server-side.

Test Issue

Description

Testing C4GT issue template

Goals

  • To check c4gt template
  • check check

Expected Outcome

See issue listed in c4gt portal

Acceptance Criteria

  • test
  • test

Implementation Details

test

Mockups / Wireframes

test


Project

Quiz Creator

Organization Name

AF

Domain

Education

Tech Skills Needed

[test]

Mentor(s)

[@suryabulusu]

Complexity

Low

Category

[Documentation]

Sub Category

[Accessibility]

Configurable list

Make a configurable list via a separate json file.

json file will have key_name and key pair. {"Test Takers Count": "testTakers", "Test Format": "format"}

Improved Form Development with Reusable FormBuilder Component

This issue is about creating a new component called FormBuilder that will make building forms a breeze!

What's the benefit?

  1. Less Code, More Fun: No more writing the same form code over and over.
  2. Flexible Forms:This component can handle different types of fields easily.
  3. Reusable: Use this component in different parts of the app, saving time and keeping things consistent.
  4. Validation Power: It uses react-hook-form and zod to make sure the data entered in the forms is valid.

Renaming Readme.md

Description

This issue is just to test the issue

Goals

  • Goal 1

Expected Outcome

This should update the Readme.md

Implementation Details

Updated the Readme.md


Project

Quiz-Creator

Organization Name:

Avanti Fellows

Domain

Education

Mentor(s)

@suryabulusu @pritamps

Complexity

Low

Category

Documentation

Sub Category

Beginner friendly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.