- Notifications
You must be signed in to change notification settings - Fork2
A sample dashboard for a user to track tasks. Intended as a low complexity app to base demos from.
License
github-samples/task-dashboard
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A task management application that allows users to create, organize, and filter tasks using a modern, responsive UI built with React.
Note: This application is intended for demonstration purposes only and is not meant for production use.
- Task Management: Create, complete, and delete tasks
- Task Tags: Organize tasks with customizable tags
- Task Lists: Create multiple lists with custom filters
- List Filters: Filter tasks by tags or completion status
- Animations: Smooth transitions and animations using Framer Motion
- Responsive Design: Works on desktop and mobile devices
- React: Modern React with functional components and hooks
- Tailwind CSS: Utility-first CSS framework for styling
- Framer Motion: Animation library for React
- Vite: Fast, modern build tool and development server
- Vitest: Testing framework compatible with Vite
- Node.js (v18+)
- npm (v10+)
Clone the repository:
git clone https://github.com/yourusername/task-dashboard.gitcd task-dashboardInstall dependencies:
npm install
Start the development server:
npm start
Openhttp://localhost:3000 to view the app
npm start- Start the development servernpm start:hydrated- Start the development server with data hydration enablednpm run build- Build for productionnpm run build:hydrated- Build for production with data hydration enablednpm run build:clean- Build for production with data hydration explicitly disablednpm run preview- Preview the production build locallynpm run preview:hydrated- Preview the production build with data hydration enablednpm test- Run tests with Vitest
The application supports pre-populating the app with sample data through an optional hydration process:
- Sample data is defined in
src/data/initialData.json - Hydration can be enabled/disabled using the
VITE_ENABLE_DATA_HYDRATIONenvironment variable - Use the convenience scripts for development with hydration:
npm run start:hydrated- Development with sample datanpm run build:hydrated- Production build with sample datanpm run build:clean- Production build without sample data
- GitHub Actions deployment automatically enables hydration for the production build
The application uses React Context for state management:
- TaskContext: Manages tasks state and operations (add, toggle, delete)
- TagContext: Manages tags and their relationships with tasks
- ListContext: Manages task lists and filtering logic
The application features several key components:
- TaskList: Renders a list of tasks
- TaskItem: Renders an individual task
- TaskBoard: Manages multiple task lists
- TagManager: Interface for creating and managing tags
- GlobalTaskForm: Form for creating new tasks
- ListAddTask: Form for adding tasks to specific lists
- TaskListConfig: Interface for configuring task lists
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see theLICENSE file for details.
About
A sample dashboard for a user to track tasks. Intended as a low complexity app to base demos from.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.