quizquest Frontend codes
quizquest Frontend codes
hooks.js
import { useState, useEffect } from "react";
useEffect(() => {
getData();
}, []);
return data;
export const useGetQuiz = (id) => { //hook to get a particular quiz from the servrer
const [data, setData] = useState({success: false});
useEffect(() => {
getData();
}, []);
return data;
}
export const useTimer = (duration) => { //hook to implement the Timer. It calculates the time left in
miliseconds and coverts that to hrs, mins, secs and returns it.
const end = Date.now() + duration + 500; // 500 ms is added to compensate the time taken to load
the quiz
const[h, m, s] = getTimeLeft();
const [hrs, setHrs] = useState(h);
const [mins, setMins] = useState(m);
const [secs, setSecs] = useState(s);
useEffect(() => {
const timer = setInterval(() => {
const [hours, minutes, seconds] = getTimeLeft();
setHrs(hours);
setMins(minutes);
setSecs(seconds);
}, 1000);
}, []);
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\finalest\QuizQuest\server\models
userSchema.js
const mongoose = require('mongoose')
module.exports = User
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\finalest\QuizQuest\frontend\src\routes
routes.js
import { createBrowserRouter } from "react-router-dom";
import Register from "../components/title/register.js";
import Login from '../components/title/login.jsx';
import Home from "../components/home/home.js";
import Quizes from "../components/getAll/getAll.js";
import NewQuiz from "../components/newQuiz/newQuiz.js";
import Quiz from "../components/quiz/quiz.js";
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\finalest\QuizQuest\frontend\src
app.js
// import './App.css';
import { RouterProvider } from 'react-router-dom';
import router from "./routes/routes.js";
function App() {
return (
<RouterProvider router={router} />
)
}
C:\Users\hasin\Desktop\prog\MERN\quiz\FINAL\finalest\QuizQuest\frontend\src\components
Components contain:
Assests
Error
getAll
home
newQuiz
pages
questionCard
quiz
quizCard
result
shimmer
subittedQues
timer
title
Navbar