Git Product home page Git Product logo

storedash's Introduction

FORK the repository and follow the steps to complete the tasks. The final submission should include a) your github repository url b) your deployed website url

Steps to follow for the interview project

You are expected to develop and deploy a demo of a Next.js admin dashboard with Javascript/TypeScript and Tailwind CSS. Include the features listed below in your project.

  1. Project Setup
  • Fork the repository to your github and clone the forked repository to your desktop
  • Configure TypeScript support in the project. (DONE)
  • Install and configure Tailwind CSS for styling. (DONE)
  1. Authentication and authorization:
  • Implement a user authentication system using a library like NextAuth.js or JWT (JSON Web Tokens).
  • Define different user roles and permissions for accessing different parts of the admin dashboard. (OPTIONAL)
  • Restrict access to certain routes or components based on user roles and permissions. (OPTIONAL)
  1. Routing and navigation:
  • Set up a navigation system using Next.js routing.
  • Create a navigation menu or sidebar to navigate between different sections of the admin dashboard. Two sample pages should be enough.
  • Highlight the active page or section in the navigation menu.
  1. State management with useState:
  • Use the useState hook to manage local state within components.
  • Identify areas where state is needed, such as toggling a sidebar, managing form inputs, or controlling UI elements.
  • Implement state variables and corresponding update functions using useState in the relevant components. (OPTIONAL)
  • Implement state management using useContext hook or redux-toolkit.
  1. Dashboard overview:
  • Fetch and display relevant data from https://dummyjson.com/products .
  • Design a dashboard overview page that displays key metrics (Average Rating of all the products), charts(count of products by category) and a table (table with columns title, description, price, category, brand, stock and thumbnail).
  • Use data visualization libraries like Chart.js or React-Vis to present charts and graphs.
  1. Data management and CRUD operations (OPTIONAL):
  • Create data management pages for entities such as sample users, products, orders, etc. (OPTIONAL)
  • Implement CRUD (Create, Read, Update, Delete) functionality for these entities. (OPTIONAL)
  • Use forms and input validation to ensure data integrity. (OPTIONAL)
  • Communicate with the backend API using libraries like Axios or Fetch.
  1. UI components and styling:
  • Build reusable UI components like tables, forms, modals, notifications, etc.
  • Apply responsive design principles to ensure a consistent experience across different devices.
  • Utilize Tailwind CSS utility classes and components for styling and layout.
  1. Data filtering and searching:
  • Implement filtering and searching functionality for data lists or tables (filter by category and brand).
  • Allow users to apply filters based on specific criteria and search for specific records.
  • Update the displayed data dynamically based on the applied filters or search query.
  1. Theme functionality (OPTIONAL):
  • Implement a theme switcher that allows users to switch between light and dark themes. (OPTIONAL)
  • Use the useState hook to manage the current theme state. (OPTIONAL)
  • Apply different CSS classes or styles based on the selected theme. (OPTIONAL)
  • Persist the theme preference in local storage or cookies for a consistent theme across sessions. (OPTIONAL)
  1. Deployment and optimization:
  • Deploy the admin dashboard application to a hosting platform like Vercel.
  • Optimize the application for performance, including code splitting, lazy loading, and caching. (OPTIONAL)
  • Implement server-side rendering (SSR) or static site generation (SSG) for improved initial loading speed. (OPTIONAL)
  1. Expected Best Practices
  • Adhere to es6/es7 coding standards and best practices throughout the project.
  • Write clean and readable code, following proper indentation and formatting conventions.
  • Use meaningful variable and function names that accurately describe their purpose.
  • Follow a consistent and descriptive format for your Git commit messages.
  • Document any external dependencies, libraries, or APIs used in your project, including their purpose and usage.

Share the link of the deployed project and the forked github repository with the HR rep. You are encouraged to use this project as one of your personal portfolio projects.

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, 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.

Learn More

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!

Deploy on Vercel

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.

storedash's People

Contributors

amizz avatar justinwkukm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.