Skip to content

vasylpryimakdev/taskflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Project Management Application

A modern, responsive project and task management application built with React. Organize your projects, manage tasks efficiently, and stay productive with an intuitive user interface.


๐Ÿš€ Live Demo

๐Ÿ“ธ Screenshots

Homepage

Homepage

Dashboard

Dashboard

New Project

New Project public/

๐ŸŽฏ Features

  • Project Management: Create, view, and delete projects with ease
  • Task Management: Add and remove tasks associated with each project
  • Project Selection: Select projects from a sidebar to view and manage their tasks
  • Responsive Design: Built with Tailwind CSS for a clean, modern interface
  • State Management: Efficient state handling with React Hooks
  • Modal Forms: User-friendly modal dialogs for creating new projects and tasks

๐Ÿš€ Tech Stack

  • React 19.0: Latest React version with modern hooks
  • Vite 4.4: Fast build tool and dev server
  • Tailwind CSS 3.3: Utility-first CSS framework
  • PostCSS: CSS processing with autoprefixer
  • ESLint: Code quality and consistency

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager

Setup

  1. Clone the repository:
git clone https://github.com/vasylpryimakdev/react-project-manager.git
cd refs-demo-project
  1. Install dependencies:
npm install

๐ŸŽฎ Usage

Development Server

Start the development server with hot module replacement:

npm run dev

The application will open at http://localhost:5173

Build for Production

Create an optimized production build:

npm run build

Preview Production Build

Preview the production build locally:

npm run preview

Linting

Run ESLint to check code quality:

npm run lint

๐Ÿ“ Project Structure

refs-demo-project/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ Button.jsx              # Reusable button component
โ”‚   โ”‚   โ”œโ”€โ”€ Input.jsx               # Reusable input component
โ”‚   โ”‚   โ”œโ”€โ”€ Modal.jsx               # Modal dialog component
โ”‚   โ”‚   โ”œโ”€โ”€ NewProject.jsx          # Create project form
โ”‚   โ”‚   โ”œโ”€โ”€ NewTask.jsx             # Create task form
โ”‚   โ”‚   โ”œโ”€โ”€ NoProjectSelected.jsx   # Empty state component
โ”‚   โ”‚   โ”œโ”€โ”€ ProjectsSidebar.jsx     # Projects list sidebar
โ”‚   โ”‚   โ”œโ”€โ”€ SelectedProject.jsx     # Selected project view
โ”‚   โ”‚   โ””โ”€โ”€ Tasks.jsx               # Tasks list display
โ”‚   โ”œโ”€โ”€ App.jsx                     # Main application component
โ”‚   โ”œโ”€โ”€ main.jsx                    # Entry point
โ”‚   โ”œโ”€โ”€ index.css                   # Global styles
โ”‚   โ””โ”€โ”€ assets/                     # Static assets
โ”œโ”€โ”€ public/                         # Public static files
โ”œโ”€โ”€ index.html                      # HTML template
โ”œโ”€โ”€ vite.config.js                  # Vite configuration
โ”œโ”€โ”€ tailwind.config.js              # Tailwind CSS configuration
โ”œโ”€โ”€ postcss.config.js               # PostCSS configuration
โ””โ”€โ”€ package.json                    # Project dependencies

๐ŸŽ“ Learning Resource

This project demonstrates key React concepts:

  • Hooks: Implementing state management with useState
  • Component Composition: Building reusable UI components
  • State Lifting: Managing shared state across the component tree
  • Conditional Rendering: Displaying different UIs based on application state
  • Event Handling: Managing user interactions

๐Ÿ’ก Key Functionality

Projects State Structure

{
  selectedProjectId: undefined | string,
  projects: [],
  tasks: []
}

Main Operations

  • Add Project: Create a new project with title, description, and due date
  • Select Project: View tasks for a specific project
  • Delete Project: Remove a project and its associated tasks
  • Add Task: Create a task linked to the selected project
  • Delete Task: Remove a task from the project

๐Ÿ”ง Configuration

  • Vite: Configured with React Fast Refresh plugin
  • Tailwind CSS: Utility-first CSS framework with custom theme support
  • ESLint: Enforces React best practices and hooks rules

๐Ÿ‘จโ€๐Ÿ’ป Author

Vasyl Pryimak
GitHub: https://github.com/vasylpryimakdev
LinkedIn: https://www.linkedin.com/in/vasyl-pryimak-64a204384


About

๐Ÿ“‹ Modern project and task management application built with React, Vite, and Tailwind CSS. Features: task creation, project organization, and a responsive UI for efficient workflow management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors