This is a boilerplate frontend project intended to have feature based task lists for Shatez frontend interviews. It is built with Next.js, TypeScript, and TailwindCSS.
Poentially to be deployed with Vercel & Integrated with a BAAS solution either Firebase or Supabase
This is a Next.js project bootstrapped with create-next-app
.
ReadME
instructions to get started with the project & figure out what your tasks areThe Web
& AI tools
is Highly Encouraged
to complete the tasksFirst, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Inter, a custom Google Font.
Feature Task-1: Easy
Dashboard
page into more smaller & reuseable components componentsWhat we'll evaluate
:Feature Task-2: Medium
Home/Index
by adding authentication (with Google OAuth) with a BAAS (Backend As A Service) solution like Firebase or Supabase, whichever you're comfortable with.Explanation
: Authentication
is the process of verifying who a user is, while Authorization
is the process of verifying what they have access to.feature2.md
, having how you solved the problem, what you did & why you did it that way & any necessary assumptions you made What we'll evaluate
:Feature Task-3: Hard
Dashboard
page and add Authorization
to the side-navigation items of the Dashboad page.role
of user
by default. - We can then create a new role
of admin
and assign it to a user manually from the DB. - We can then use this role
to determine what a user can access or not and use this information to hide or show the side-navigation items.Reports
will be visible to users
while everything will be visible to admins
feature3.md
, having how you solved the problem, what you did & why you did it that way & any necessary assumptions you made What we'll evaluate
:Feature Task-1: Easy
, you can create a branch called feature/task-1
main
branch of the repository & Merge it. Don't delete the feature branch on merge as we'll look at the commit history of the feature branch.[email protected]
for evaluation. Its upto you if you want to make it Public or Private. Private is encouraged but not mandatory in any way.To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.