Live: https://taskboard.bnurd.com
Alternative: https://taskboard-five.vercel.app/
I feel really comfortable using Trello because of its easy-to-use features and it has a great user experience. Inspired by Trello, a task management app that I use frequently, however, I often feel overwhelmed by features I don't need, which disrupts my interaction and visual experience. Also, some of the necessary features were only available with a paid subscription. So, I decided to create a similar app by removing the features I didn't need and adding some features I did.
- A feature that can add a list and a card, I call them list and task.
- This feature is a must-have for any to-do list or task management app, as it is the main feature where you can add multiple lists and tasks.
- Of course the main feature is drag & drop task/card.
- This feature makes it easy for me when I want to move a task, for example moving a task that has been completed.
- Add a description to a card.
- Of course, a task must have a description to explain the purpose, summary or details of the task, so that there are no mistakes when doing it.
- Feature to add the due date of tasks.
- Essential to have, namely the deadline of a task, because it is a reminder of when I have to complete the task.
- Features to import & export task data
- This application use localstorage as data storage because this application is shown to use personally, therefore maybe I need a feature to import and export data.
- Faature that you can add checklists for specific card.
- Sometimes in a task we can break it into several parts to be worked on alternately, therefore, this feature may be useful for that case.
- The calendar that show all tasks that have due date.
- When tasks have piled up, it will be difficult to see the details of the date, therefore this calendar feature is needed as a visual form of tasks so that it is easier when you want to see tasks and task deadlines.
- Signin and Signup feature.
- Honestly, I don't like this feature if it's just for the todo list application. I think it would be more efficient if the todo list application only used browser storage as data storage.
- Member of task
- Trello has a feature that allows multiple members to be included in a specific task. I don't think I need that feature because this app is only suitable for personal task management.
Setup project
# using npm
npm install
# using yatn
yarn install
Running development
# using npm
npm run dev
# using yatn
yarn dev
Build production
# using npm
npm run build
# using yatn
yarn build
Running the build result (preview)
# using npm
npm run preview
# using yatn
yarn preview
- Frontend Framework: NuxtJS
- State Management: Pinia
- UI Library: Nuxt UI
- CSS Library/framework: TailwindCSS
> .nuxt
> assets
> components
> helpers
> layouts
> pages
> public
> repositories
> server
> store
> types
.gitignore
app.config.ts
app.vue
nuxt.config.ts
tailwind.config.js
tsconfig.json
- .nuxt: This is a development directory that contains auto-generated files and compiled code.
- assets: This directory is used to store uncompiled assets such as stylesheets, images, or fonts. Then, the build tool will process it.
- components: This is where you put all your Vue components.
- helpers: This folder is for utility functions or helper files that can be used throughout project. It can contain JavaScript or TypeScript files with common functions.
- layouts: The directory that nuxt provides to extract common UI patterns into reusable layouts
- pages: This is where you define the routes of your application. Each .vue file in this directory automatically becomes a route.
- public: Static files that don't need processing when build. Files in this directory are served at the URL.
- Repositores: This folder is used for storing code related to data fetching and handling data logic. In this application, this folder is used for data communication between the application and storage (localstorage).
- server: This directory is used for server-side code such as API routes
- store: This directory contains state management files (pinia in this app).
- types: This folder is used to store TypeScript type definitions.
- .gitignore: Specifies intentionally untracked files to ignore that git should ignore.
- app.config.ts: This is a configuration file where you can set global settings for your Nuxt application. Example: NuxtUI theme settings.
- app.vue: This is the root component of Nuxt/Vue application
- tailwind.config.js: Configuration file for Tailwind CSS.
- tsconfig.json: This is the TypeScript configuration file.
Note
You can try to download the taskboard-import-sample.json file which is available in this folder/repository then import it into the application.
5. Add the description to task
- Nuxtjs (https://nuxt.com)
- NuxtUI (https://ui.nuxt.com)
- Tailwindcss (https://tailwindcss.com)
- Pinia (https://pinia.vuejs.org)
- vcalendar (https://vcalendar.io)
- fullcalendar (https://fullcalendar.io)
- vuedraggable (https://github.com/SortableJS/vue.draggable.next)