Stay organized and get things done
A modern, responsive Todo application built with Vue 3, Vite, and FontAwesome icons. This application provides an intuitive interface for managing daily tasks and staying productive.
- Modern Vue 3 Composition API - Built with the latest Vue.js features
- Component-based Architecture - Reusable BaseCard and BaseInput components
- Responsive Design - Optimized for both desktop and mobile devices
- Beautiful UI - Clean, modern interface with gradient header styling
- Icon Integration - FontAwesome icons for enhanced user experience
- Flexible Layout System - Slot-based components for maximum customization
- State Management Ready - Pinia integration for scalable state handling
- Routing Ready - Vue Router integration for scalable navigation
- Development Tools - Hot reload, ESLint, and Prettier for optimal DX
ToDoApp/
โโโ public/
โ โโโ favicon.ico # Application favicon
โโโ src/
โ โโโ assets/
โ โ โโโ fonts.css # Font declarations
โ โ โโโ main.css # Global styles
โ โ โโโ fonts/
โ โ โโโ Montserrat/ # Montserrat font family
โ โโโ components/
โ โ โโโ BaseCard.vue # Reusable card component with slot system
โ โ โโโ BaseInput.vue # Reusable input component
โ โโโ router/
โ โ โโโ index.js # Vue Router configuration
โ โโโ stores/ # Pinia stores directory
โ โโโ App.vue # Root component with todo layout
โ โโโ main.js # Application entry point
โโโ eslint.config.js # ESLint configuration
โโโ jsconfig.json # JavaScript configuration
โโโ package.json # Dependencies and scripts
โโโ README.md # Project documentation
โโโ vite.config.js # Vite configuration
- Vue.js 3 - Progressive JavaScript framework
- Vite - Next-generation frontend tooling
- Pinia - State management for Vue.js
- Vue Router - Official router for Vue.js
- FontAwesome - Comprehensive icon library
- Montserrat Font - Modern, professional typography
- CSS3 - Modern styling with gradients and responsive design
- ESLint - Code linting and quality assurance
- Prettier - Code formatting
- Vite DevTools - Enhanced development experience
- Node.js: ^20.19.0 || >=22.12.0
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd ToDoApp
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
Command | Description |
---|---|
npm run dev |
Start development server with hot-reload |
npm run build |
Build for production |
npm run preview |
Preview production build locally |
npm run lint |
Lint and auto-fix code issues |
npm run format |
Format code with Prettier |
A flexible, reusable card component featuring:
- Slot-based Architecture - Header and content slots for maximum flexibility
- Responsive Design - Mobile-first approach with breakpoint optimization
- Modern Styling - Clean design with rounded corners and proper spacing
- Modular Structure - Separation of concerns between header and body content
<BaseCard>
<template #header>
<!-- Header content (optional) -->
</template>
<!-- Main content goes here -->
</BaseCard>
A styled input component with:
- Dynamic Props - Type and placeholder customization
- Focus Styling - Custom focus states with accent colors
- Consistent Design - Matches the overall app aesthetic
- Accessibility - Proper input labeling and states
<BaseInput type="text" placeholder="Enter your text..." />
- Vue plugin integration
- Vue DevTools for development
- Modern build optimizations
- Vue.js specific rules
- Prettier integration for consistent formatting
- Modern JavaScript standards
npm run build
The built files will be in the dist/
directory, ready for deployment to any static hosting service.
- Vercel - Zero-configuration deployment
- Netlify - Continuous deployment from Git
- GitHub Pages - Free static hosting
- Firebase Hosting - Google's hosting platform
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow Vue.js style guide
- Use Composition API for new components
- Maintain responsive design principles
- Ensure proper ESLint compliance
- Write meaningful commit messages
- Task CRUD operations
- Local storage persistence
- Task categories and filters
- Due date functionality
- Dark/Light theme toggle
- Task priority levels
- Export/Import functionality
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help with setup, please feel free to open an issue or reach out to the maintainers.
Built with โค๏ธ using Vue.js and modern web technologies