Giter Club home page Giter Club logo

isandeepkadam / kanban-software Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.5 MB

Kanban is a popular Lean workflow management method for defining, managing, and improving services that deliver knowledge work. It helps you visualize work, maximize efficiency, and improve continuously. Work is represented on Kanban boards, allowing you to optimize work delivery across multiple teams and handle even the most complex projects in a single environment.

HTML 3.30% TypeScript 89.29% CSS 7.41%

kanban-software's People

Contributors

isandeepkadam avatar shubham-cpp avatar

Watchers

 avatar

Forkers

shubham-cpp

kanban-software's Issues

Login Page & Register Page

Login page should include:

  • Username and password
  • Link to signup(register)

Register Page:

  • Fields
    • username(unique)
    • password
    • name (first name and last name)
    • location(city,state,country)
    • phn no(unique)
  • Link to login

Navbar

Responsive Navbar which should include:

  • Home logo
  • Search
  • Login & Register
  • If Logged in, then only logout
  • Links for backlog, completed, etc

Login/Register Validation

Follow the below template.

import "./styles.css";
import { useState } from "react";
import { Box, TextField, Button } from "@mui/material";

export default function App() {
  const [formData, setFormData] = useState({
    username: {
      value: "",
      err: false,
      errMsg: "User should be at least 4 chars long",
      validate: (value: string) => {
        const regex = /^[A-Za-z]{4,}$/;
        return regex.test(value);
      }
    },
    password: {
      value: "",
      err: false,
      errMsg: "Password should be at least 6 chars long",
      validate: (value: string) => {
        const regex = /^[A-Za-z0-9_]{6,}$/;
        return regex.test(value);
      }
    }
  });

  function handleChange(
    evt: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>
  ) {
    const { name, value } = evt.target;
    setFormData((prevData) => {
      const newData = { ...prevData };

      const key: keyof typeof newData = name;
      newData[key].value = value;

      return newData;
    });
  }
  function handleSubmit(evt: React.FormEvent<HTMLFormElement>) {
    evt.preventDefault();
    setFormData((prevData) => {
      const newData = { ...prevData };
      for (let key in newData) {
        // const input = newData[key];
        const value = newData[key].value;
        newData[key].err = !newData[key].validate(value);
      }
      console.log(newData);
      return newData;
    });
  }
  return (
    <>
      <Box
        component="form"
        noValidate
        onSubmit={handleSubmit}
        sx={{ display: "flex" }}
        flexDirection="column"
        gap={2}
      >
        <TextField
          label="Username"
          name="username"
          onChange={handleChange}
          value={formData.username.value}
          error={formData.username.err}
          helperText="Username should be at least 2 chars long"
        />
        <TextField
          label="Password"
          name="password"
          onChange={handleChange}
          value={formData.password.value}
          error={formData.password.err}
          helperText="Password should be at least 2 chars long"
        />
        <Button type="submit" variant="contained">
          Submit
        </Button>
      </Box>
    </>
  );
}

Tasks: Grid Layout, Dropdown menu (without functionality)

Layout

All tasks should be shown using grid layout.
Grid layout will consist of 4 cols(in desktop layout) namely To-do, In Development/Working, QA, Done/Completed.
On mobile layout, we'll have a single column for above using accordion.

Dropdown menu:

  • Option to change status of task
  • Edit task (launch modal)
  • Delete?

Sidebar (Drawer/ Slider)

When in mobile layout hide all the links from navbar and present it into the Sidebar.
Clicking on the sidebar will reveal all the links

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.