Gabsop / frontend-challenge

In this technical challenge, you'll be tasked with creating a robust authentication and authorization system using React with Next.js and TypeScript.

Home Page:https://frontend-challenge-gabsop.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Challenge Overview:

This is my submission of the frontend challenge! Deployed App

Challenges:

  • I had very little experience with NextAuth, so I took some time to learn and apply.
  • I had difficulty handling the roles section at the middleware, and understanding the middleware as a whole in the beginning.

Things I would do differently

  • I would've use Clerk, that gives me everything that I did way faster and free, but I didn't wanned to "cheat", so I used Next-Auth.
  • I would've handle the errors in other way than sending a query param to the frontend, just didn't found out a better solution in the mean time.
  • Definitely improve the frontend style, the thing is pretty ugly.
  • Improve the tests to cover 100% of the project.

Tech

  • Created the project using T3
  • Used Railway to host the database
  • Used Emailjs to send the emails
  • Used Jest to test
  • Used Prisma as my ORM
  • And the other tech was the one required by the test. Next, React, TypeScript, etc.
PS: I added a button at the home page to turn a user into an admin and vice versa, just for the sake of this challenge.
PS 2: Since the email service that I used is free, there's a big chance that the confirmation email that you receive is in spam.

About

In this technical challenge, you'll be tasked with creating a robust authentication and authorization system using React with Next.js and TypeScript.

https://frontend-challenge-gabsop.vercel.app


Languages

Language:TypeScript 90.7%Language:JavaScript 6.7%Language:Shell 2.3%Language:CSS 0.4%