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.
- Home Page: Displays a list of active and archived exams. Only users with access can open these exams.
![HomePage](https://private-user-images.githubusercontent.com/96630446/302369988-4a156acb-3df4-4140-870d-4851718ef22c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM5ODA0ODksIm5iZiI6MTcyMzk4MDE4OSwicGF0aCI6Ii85NjYzMDQ0Ni8zMDIzNjk5ODgtNGExNTZhY2ItM2RmNC00MTQwLTg3MGQtNDg1MTcxOGVmMjJjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDExMjMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU5NDlmZGZiYjAwMjgwMGE0ZGVlODEwMWViY2M1MDFkYTAxZTUyNmI1OGQwNGMzOGFiZDUyMTgyMDRhNjc1MmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EWoeQCckx1i-EsL-fwKyopFX2L2MOE9oUBINPkylhDE)
-
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](https://private-user-images.githubusercontent.com/96630446/302370472-bd548e9c-fab4-493c-93aa-4c0f87df1fd2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM5ODA0ODksIm5iZiI6MTcyMzk4MDE4OSwicGF0aCI6Ii85NjYzMDQ0Ni8zMDIzNzA0NzItYmQ1NDhlOWMtZmFiNC00OTNjLTkzYWEtNGMwZjg3ZGYxZmQyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDExMjMwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFiYjg4MmQyYzljZjIxOWI3YTliODYxMjIyYWM0MzYwZjMxMWRlNGFiMmJhOWIzZGIzODkwMTBmY2FhOTVmZGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.UceZO0XHfuZ07TzVYH0abMCRJkmcZUwKYLNc9e8PLqM)
-
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:
-
Admin Page with Tabs:
-
Create: Admin can create exams by uploading XML files and images, ensuring a unique name for each exam.
-
Exams: Displays a list of exams with their status (Active, In Repository, Archive). Options to end, delete, or move exams.
-
Score: Allows the admin to get scores for objective questions and generates an image of user submissions.
-
Timings: Set exam timings for active exams.
-
Access: Provide access to students for each exam.
-
Submissions: Get user submissions in zip files with a folder structure -
<examName>/<email>/imagefiles
.
-
-
Backend:
- Firebase Storage and Realtime Database for data storage.
- Firebase Functions for backend functionalities.
npm install
-
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
npm run dev
npm run build
Visit the hosted platform: VueContest on Vercel