Skip to content

mr-tnmy-srkr/online-group-study-mern-client-side

Repository files navigation

--- Online Group Study MERN Assignment ---


Code Link :

  1. Client Side Github Code Link

  2. Server Side Github Code Link


Live Link :

  1. Client Side netlify Live Link

  2. Client Side surge Live Link

  3. Client Side Firebase Live Link

  4. Vercel Server Side Live Link


🪶 Key Features

  • Create, update, participate and marking an assignment
  • Firebase authentication
  • Pagination at all-assignment page
  • JWT token security

🧑‍💻 Technology Used

Other Technologies

DaisyUi | Axios | Tanstack Query, etc

Run the project in your system

Client Side .env.local file example

VITE_APIKEY= "Your Firebase Api Key"
VITE_AUTHDOMAIN="Your Firebase domain"
VITE_PROJECTID="Your FireBase project Id"
VITE_STORAGEBUCKET= "Your Firebase Storage Bucket"
VITE_MESSAGINGSENDERID="Your Firebase Messaging Sender id"
VITE_APPID="Your Firebase App Id"

Server side .env file example

DB_USER="Database (MongoDB) User Id"
DB_PASS="Database (MongoDb) password"
ACCESS_TOKEN_SECRET="JWT Secret Token"

Features and functionalities of my website :

  • Home Page: At the home page there are a navbar containing website logo all assignment,create assignment,my assignment, submitted assignment and login/logout/register button ,with these user can easily navigate through out the website.And a banner,feature,faq and footer section.

  • Assignment Page: At the assignment page user can see all the assignment created by any registered user .And this is a public route.

  • Create Assignment Page: This is a protected route.Only a registered user can create a assignment for all users.In this page , there will be a form including all field for creating a new assignment.

  • Update Page: On the assignment page there is be a update assignment button ,from this page user can update the assignment

  • Pagination: At the all assignment page ,I have implemented pagination , where a user can use links such as "next", "previous", and page numbers to navigate between pages that display one page of results at a time.

  • My Assignment Page: Only a registered user who have submitted the assignment before, can see his/her submitted assignments (both pending and completed).Also user can see his/her marks and examiner feedback.

  • Submitted Assignment Page: Here user can see all the submitted assignment of all the registered user,who takes part in the assignment.

  • Marking an Assignment: On the submitted assignment page there is a Give mark button ,on clicking this button examiner can evaluate the assignment and then the assignment status will be completed.

  • JWT token implemented: WTs or JSON Web Tokens are most commonly used to identify an authenticated user. They are issued by an authentication server and are consumed by the client-server (to secure its APIs)