Giter VIP home page Giter VIP logo

vi-frontend-assignment's Introduction

Vidyayatan Infotech: Frontend Hiring Assignment

How to submit the Assignment : LINK

  • Fork this repository
  • Solve the tasks and commit the changes in your forked repository (DO NOT open a PR on this repository)
  • Deploy the changes to your preferred vendor (we recommend Render, Vercel and netlify)
  • Submit the assignment using This Google form

Project setup instructions

  1. Install nvm to manage node versions, Make sure you are using Node.JS v21.0.0
  2. Install pnpm from LINK
  3. Make sure that your vs-code is using the same ts version as the current project
  4. Run pnpm install to install dependencies
  5. Run pnpm run dev to start the dev server
  6. Run pnpm run precommit to check if your code passes ts checks and linter checks

Additional Information

  • The project uses ShadCN as the UI library
  • The project uses TanstackTable for managing tables
  • Additional resources : Tailwind
  • Sample Tool used for task 2 and 3 : DBeaver

Assignment Tasks

1. Add a new checkbox column

  • Create a new checkbox column as the first column
  • On checking the column the selected row should be highlighted i.e background should change
  • Only a single column can be selected at a time across pages

Examples:

First column is a checkbox, on selecting the row notice the background of the selected row is slightly different from other rows
First column Single select

2. Sticky Columns

  • Create the first 2 columns as sticky columns
  • On hovering over the row the entire row's background should be highlighted including the sticky columns
  • To test this change either use mobile view or decrease the width of the table

Sticky columns

3. Resizable Columns

  • Create resizable columns, i.e. the width of columns should increase or decrease depending on user interaction
  • If the content is too big to fit in a column, the content should not overflow out of the column i.e. overflow-hidden should be enforced

Resizable columns

vi-frontend-assignment's People

Contributors

anuragsati avatar

Stargazers

Parth Virdhe avatar Yash Tiwari 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.