Giter Club home page Giter Club logo

contest's Introduction

VueContest - Exam Conducting Platform

VueContest is a comprehensive exam conducting platform developed using Vue, Tailwind CSS, and Firebase. This platform is designed to facilitate the seamless creation, management, and administration of exams, providing both students and administrators with a user-friendly and efficient experience.

Features

  • Home Page: Displays a list of active and archived exams. Only users with access can open these exams.
HomePage
  • Login Page: Enables users to log in using Firebase Google Sign-In for secure authentication.

  • Registration Page: Allows users to register, with registration details stored in the Firebase Realtime Database.

Registration
  • Exam Page: Features an exam window with a timer, navigation panel, and various buttons for easy navigation. Users can leave the page, and their submissions will be remembered. Questions can be written using text, LaTeX, and images.

  • Supported Question Types:

    • Single Correct Question

      • SingleCorrect
    • Multiple Correct Question

      • MultipleCorrect
    • Numerical Answer

      • Numerical
    • Descriptive Answer (upload images, with a component for file size reduction and image reordering)

      • Descriptive
  • Admin Page with Tabs:

    • Create: Admin can create exams by uploading XML files and images, ensuring a unique name for each exam.

      • create
    • Exams: Displays a list of exams with their status (Active, In Repository, Archive). Options to end, delete, or move exams.

      • exams
    • Score: Allows the admin to get scores for objective questions and generates an image of user submissions.

      • score
      • score2
    • Timings: Set exam timings for active exams.

      • timings
    • Access: Provide access to students for each exam.

      • access
    • Submissions: Get user submissions in zip files with a folder structure - <examName>/<email>/imagefiles.

      • submissions
  • Backend:

    • Firebase Storage and Realtime Database for data storage.
    • Firebase Functions for backend functionalities.

Project Setup

npm install

Firebase Setup

  • Go to firebase console

  • Create a new project and add a web app

  • Copy firebase config and paste it in src/main.js and src/utitlity/index.js

  • Open Firebase Authentication and add Google Sign In Provider

    • Go to Settings and add your domain under authorized domain
  • Create Firebase Realtime Database. Go to rules and paste databaseRules.txt

  • Create Firebase Storage

  • Create Firebase Functions. Deploy Firebase Functions using firebase cli tools

    npm install -g firebase-tools
    firebase login
    firebase deploy --only functions

    Read this documentation for more details: https://firebase.google.com/docs/functions/get-started?gen=2nd

Compile and Hot-Reload for Development

npm run dev

Compile and Minify for Production

npm run build

Visit the hosted platform: VueContest on Vercel

contest's People

Contributors

codeyuvraj avatar githyuvi avatar

Watchers

 avatar

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.