A web application for task management with Kanban boards and To-Do list.
This project is a web application designed for task management, with three main components: Kanban boards, project settings, and a To-Do list. It offers a range of features, including dark and light themes, drag-and-drop functionality for Kanban boards, and a visually appealing design with TailwindCSS and shadcn/ui.
- Kanban Board: Manage projects using Kanban boards with drag-and-drop functionality.
- Project Settings: Define project-specific settings for Kanban boards.
- To-Do List App with JsonPlaceholder: user-friendly interface for browsing, searching and sorting blog content posts.
- Create, edit, and delete your own blog posts after authentication and design post page with comments.
- Responsive design for a seamless experience on different devices
- Dark and Light Themes: Toggle between dark and light themes for a personalized experience.
- Shadcn and RadixUI: Enhance the user interface with Shadcn and RadixUI components.
This project uses the following technologies and dependencies:
-
Frontend:
- React.js
- Redux Toolkit for state management and React-Redux for integrating React with Redux
- Redux Persist to hold state between routes change and reload page in local storage
- React Hook Form for form handling and zod for validation of form inputs
- React-Beautiful-DND for drag-and-drop functionality
- Shadcn/ui and RadixUI for UI components
- Tailwind CSS for styling
- clsx for conditional CSS classes
- React-Quill for Quill Rich Text Editor
- Fontawesome, RadixUI, Lucide-React and HeroIcons for icons
-
Build and Development:
- Vite
- Typescript
- TailwindCSS
- Eslint
Follow these steps to get the project up and running on your local machine:
-
Clone the repository:
git clone https://github.com/khakiiman/todo-jira-app
-
Navigate to the project directory:
cd todo-jira-app
-
Install the dependencies:
npm install
-
Start the development server:
npm run dev
- npm run dev - Starts the development server.
- npm run build - Builds the production-ready code.
- npm run lint - Runs ESLint to analyze and lint the code.
- npm run preview - Starts the Vite development server in preview mode.
The project structure follows a standard React application layout:
todo-jira-app/
βββ node_modules/ # Project dependencies
βββ public/ # Public assets
βββ src/ # Application source code
β βββ components/ # React components
β β βββ Dashboard/ # dashboard components
β β βββ Sidebar/ # sidebar components
β β βββ ui/ # shadc/ui components
β βββ data/ # Initial data for Kanban
β βββ lib/ # Utility functions
β βββ models/ # models for zod or etc
β βββ store/ # Redux Store
β βββ App.tsx # Application entry point
β βββ index.tsx # Main rendering file
βββ .eslintrc.json # ESLint configuration
βββ components.json # Config file for shadcnUI
βββ index.html # HTML entry point
βββ postcss.config.js # PostCSS configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ tsconfig.node.json # TypeScript Node configuration
βββ vite.config.ts # Vite configuration