/easyquiz-quasar

Application to create and share your Quizzes with others. Ideal for a school or educational institute.

Primary LanguageVue

EasyQuiz (Quasar with Vite)

Application to create and share your Quizzes with others. Ideal for a school or educational institute.

The app is hosted here: https://easyquiz-romesh-jaya.vercel.app/

App features

  • Users have the ability to select a single answer or multiple answers, as suits the question.
  • Ability to create multiple quizzes, and archive any unneccessary ones
  • Ability to demo your own quiz before sharing with others

Screenshots

Quiz Home page

Quiz Home page

Edit Question page

Edit Question page

Single choice question - Demo

Single choice question - Demo

Multiple choice question - Demo

Multiple choice question - Demo

Technical details

Tech Stack used:

  • Vue, Serverless Functions hosted on Vercel, Postgres
  • Quasar
  • Vite server
  • Typescript
  • Firebase Authentication with email/password login

.env variables

All fields mentioned in .env.example must be filled with correct values and renamed as .env.

  • API_KEY - Firebase Auth related
  • AUTH_DOMAIN - Firebase Auth related
  • PROJECT_ID - Firebase Auth related
  • STORAGE_BUCKET - Firebase Auth related
  • MESSAGING_SENDER_ID - Firebase Auth related
  • APP_ID - Firebase Auth related
  • BACKEND_URL - Backend API URL for development
  • BACKEND_URL_STAGING - Backend API URL for staging

Backend Server Source

Can be found here.

TODO

  • Share the quiz that the user created to others via an email link.
  • Add time for quiz

Deployment

npm run deploy

  • currently using Vercel CLI to deploy. Remember to promote a particular build into production once verified.

Install the dependencies

yarn
# or
npm install

Start the app in development mode (hot-code reloading, error reporting, etc.)

quasar dev

Lint the files

yarn lint
# or
npm run lint

Format the files

yarn format
# or
npm run format

Build the app for production

quasar build