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
- 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
- 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
- Node.js (v16 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/vasylpryimakdev/react-project-manager.git
cd refs-demo-project- Install dependencies:
npm installStart the development server with hot module replacement:
npm run devThe application will open at http://localhost:5173
Create an optimized production build:
npm run buildPreview the production build locally:
npm run previewRun ESLint to check code quality:
npm run lintrefs-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
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
{
selectedProjectId: undefined | string,
projects: [],
tasks: []
}- 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
- 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
Vasyl Pryimak
GitHub: https://github.com/vasylpryimakdev
LinkedIn: https://www.linkedin.com/in/vasyl-pryimak-64a204384


