The Todo App is a web application that simplifies your daily task management. You can create, edit, update, delete, and search for tasks using various filters, checkboxes, and a search bar. The app includes user authentication, allowing users to sign up and log in.
User authentication in this app is implemented manually using localStorage
. When a user signs up or logs in, their authentication status and user details are securely stored in the browser's localStorage
. This approach allows for a seamless user experience without the need for external authentication services.
For efficient state management, this project utilizes Pinia, a modern and highly customizable store for Vue 3. Pinia helps manage application data and user-related information, providing a smooth and responsive user experience.
- User authentication with sign-up and login.
- Create, edit, update, and delete tasks.
- Search tasks by keywords, categories, or status.
- Check and uncheck tasks with checkboxes.
- User-friendly interface.
- Vue.js: The frontend framework for building the app.
- Pinia: A state management system for Vue 3, ensuring efficient data handling.
- JSON Server: A simple JSON-based database server for API development.
- HTML, CSS: For structuring and styling the app.
To run the Todo App locally, follow these steps:
- Clone this repository to your local machine.
- Run
npm install
to install the required packages. - Start the JSON Server by running
npm run db:serve
. This sets up your API. - Start the Vue.js development server by running
npm run serve
.
- Register or log in to access your tasks.
- Create new tasks.
- Edit, update, or delete tasks with ease.
- Change the status from the home page.
- Use checkboxes to mark tasks as complete or incomplete.
- Apply filters and the search bar to quickly find tasks.
- For User authentication, I used local storage and did it fully manually.
- Vue.js: A powerful JavaScript framework for building user interfaces.
- JSON Server: A hassle-free solution for creating APIs.
This project is open-source and available under the MIT License.
Feel free to contribute, report issues, or provide feedback. This project was created as a personal endeavor to improve web development skills and offer a practical task management solution.