Backend Github Repo: todo-app-backend
TaskHub is a robust todo board application designed to streamline task management with a user-friendly interface. Built on a tech stack featuring Node.js, Express, React.js, Redux, Sequelize ORM, TypeScript, and PostgreSQL, TaskHub offers a seamless experience for organizing and prioritizing tasks.
Features 🌟
Login and Signup 🔐
Users can securely authenticate themselves through a JWT-based authentication system. TaskHub provides a hassle-free signup process, ensuring data integrity and user privacy.
User-wise Board Screen 🖥️
Upon login, users are greeted with a personalized board screen, displaying their tasks and columns. This tailored experience enhances efficiency and user satisfaction.
Add Column ➕
Easily customize your task board by adding new columns to categorize tasks. This feature allows users to tailor their workflow to suit their specific needs.
Add Tasks 📝
TaskHub simplifies task creation with a straightforward interface. Users can swiftly add tasks to their designated columns, minimizing time spent on administrative tasks.
Edit Tasks ✏️
Effortlessly update task details with the edit feature. Users can modify task names, descriptions, and other information to keep their tasks accurate and up-to-date.
Delete Tasks 🗑️
Remove unnecessary tasks with the delete feature. TaskHub allows users to declutter their board by easily removing tasks that are completed or no longer relevant.
Reorder Tasks 🔄
Effortlessly reorder tasks within columns to prioritize work. TaskHub's intuitive drag-and-drop functionality makes task management a breeze.
Change Task Column 🔄
Adapt to evolving priorities by moving tasks between columns. This flexibility ensures that TaskHub remains a dynamic tool for users with ever-changing task lists.
Tech Stack ⚙️
Frontend
Backend
Getting Started 🚀
To get started with TaskHub, follow these steps:
- Clone the frontend repository
git clone https://github.com/education-tech-stack/todo-list-frontend
. - Clone the backend repository
git clone https://github.com/education-tech-stack/todo-list-backend
. - Set up Postgres by using docker-compose or any method that you prefer. Just get the Postgres URL.
- Backend:
cd todo-list-backend
get into the directory.- Install dependencies using
yarn
. - Create a file
.env
and add two variables namedSECRET_KEY
andSEQUELIZE_DATABASE
. Add any string as it's used for JWT generation and the Postgresql URL that you have respectively. - Optional: If you want some seed data run
yarn seed
. - Run dev as
yarn dev
.
- Frontend:
cd todo-list-frontend
get into the directory.- Install dependencies using
yarn
. - Create a file
.env
and add a variable namedVITE_SERVER
. Add backend URL string ashttp://localhost:8000/api
. Change the port as per your requirement. - Run dev as
yarn dev
.
Other Commands 🛠️
Check package.json
for other commands.
Commit Commands 📦
This project uses commitlint to ensure that commit messages are conventional-changelog compliants.
To help you build more efficient commit messages, you can use the commitizen package by running this command :
yarn cz
License 📄
TaskHub is licensed under the MIT License. Feel free to use, modify, and distribute it according to the terms of the license.