A task board is considered to be one of the most successful tools for teamwork. Whether it's for work, a side project or even the next family vacation, we helps your team stay organized.We've got the flexibility and featuresto fit any team's style.

Overview

TaskBoard

!Important!

The project is in its initial stage. In the near future I'll be adding new features and upgrading the old ones to be more optimal.

Description

TaskBoard A task board is considered to be one of the most successful tools for teamwork. Whether it's for work, a side project or even the next family vacation, we help your team stay organized. We've got the flexibility and features to fit any team's style.

Entity Model

User

A User entity represents a single person or an organization

A User entity has the following properties:

  • id - the unique identifier of the user (type and value)
  • firstName - the first name of the user
  • lastName - the last name of the user
  • email - the email of the user
  • password - the password of the user used to sign in

Project

A Project entity represents a project created by a user or organization

A Project entity has the following properties:

  • id - the unique identifier of the project (type and value)
  • projectName - the name of the project
  • tasks - set of tasks in the project
  • members - participants in this project
  • userId - the unique identifier of the user who created this project
  • teamLeader - the team leader of the project

Task

A Task enitity represent a task of one project

A Task entity has the following properties:

  • id - the unique identifier of the task (type and value)
  • name - the name of the task
  • description - the description of the task
  • parentTask - to check if the task is subTask or parentTask (if it is parent task the value is null, if it is subTask then we save info about the parent)
  • taskType - the type of the task (TODO,STARTED,FINISHED)
  • project - the project the task is related to
  • userId - the unique identifier of the user who created this task
  • taskOwner - the task owner

Functional Requirements

Frontend

In order to work with the application, a user should authenticate first.

Once logged in, a user is presented with the dashboard page, in the top right corner after clicking account icon, with links to the following pages:

  • Account settings - contains information about the user
  • My projects - contains a list of all projects of this user
  • Language - contains a list of languages
  • Sign out - sign out from the account

Once a user is presented with the Account settings page, they see the following dashboard with default page Profile,which has links to the following pages:

  • Profile - contains a filled form with basic information about user which he can change
  • Photo - contains a photo of the user which he can change
  • Account Security - contains a filled form with security(password and email) information about user which he can change

Once a user is presented with the My project page, they see all projects in which he participates and Create Project button which serves for creating a new project . Once he clicks on a project, the user is navigated to the full information about this project and a taskboard which is divided into 3 groups of tasks (TODO,STARTED,FINISHED).

Non-functional Requirements

Architecture

The solution should be have the following layers:

  1. Frontend - a web-based application meeting the following requirements:
    • Responsive - a user should be able to work without losing functionality on an average tablet/phone
    • HTML 5, CSS/SCSS, Bootstrap, Angular with TypeScript/JavaScript
  2. Backend - an API application meeting the following requirements:
    • RESTful - should follow the best practices:
    • Problem Details - error handling should be implemented with RFC 7807
  3. Database - a relational database should be used meeting the following requirements:
    • Data types - suitable data types should be used for database columns to best reflect their content
    • Keys - tables should have a primary key used to identify each row, and appropriate unique keys where applicable
    • Relationships - database tables should have relationships established with the suitable foreign keys
You might also like...

375 DSA Tracker helps you build your confidence in solving any coding related question and helps you prepare for your placements. It is your personal web-based progress tracker based on 375 DSA Sheet by Aman Dhattarwal & Shradha Didi

375 DSA Tracker helps you build your confidence in solving any coding related question and helps you prepare for your placements. It is your personal web-based progress tracker based on 375 DSA Sheet by Aman Dhattarwal & Shradha Didi

375-DSA Tracker πŸ‘¨β€πŸ’» Me and my friend Abhilash Jena made a 375 DSA Tracker website based on 375 DSA Sheet by Aman Dhattarwal & Shradha Didi which hel

Nov 11, 2022

A public board for all the Computer Society and Students to display their profile. An online year-book for you to display your profile in the most creative manner

A public board for all the Computer Society and Students to display their profile. An online year-book for you to display your profile in the most creative manner

Student's Yearbook by IEEE Computer Society Student's yearbook is an open-source project which intends to dispaly the students who will be graduating

Dec 18, 2022

ToolJet an open-source low-code framework to build and deploy internal tools quickly without much effort from the engineering teams

ToolJet an open-source low-code framework to build and deploy internal tools quickly without much effort from the engineering teams

ToolJet is an open-source low-code framework to build and deploy internal tools quickly without much effort from the engineering teams. You can connect to your data sources, such as databases (like PostgreSQL, MongoDB, Elasticsearch, etc), API endpoints (ToolJet supports importing OpenAPI spec & OAuth2 authorization), and external services (like Stripe, Slack, Google Sheets, Airtable) and use our pre-built UI widgets to build internal tools.

Jan 3, 2023

Eventually* Everything you'll need for successful feature flagging

remix-flags Eventually* Everything you'll need for successful feature flagging What's inside? This repo uses npm as a package manager. It includes the

Jun 10, 2022

Use this as learning repo on how to create successful pull requests.

Use this as learning repo on how to create successful pull requests.

Hacktoberfest 2022 Special We will be posting a problem daily at 10 AM related to languages like HTML/CSS, Python, C++ till 30th Oct. No need to get i

Dec 22, 2022

The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.

The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.

Install | Documentation | Releases | Contributing Foundation is the most advanced responsive front-end framework in the world. Quickly go from prototy

Jan 4, 2023

Use Kanban board with filled-in tasks that have categories and time estimations to assign work in group.

javascript-capstone 456movies 456movies is the home of amazing original programs that you can’t find anywhere else. Movies, TV shows, specials and mor

Dec 27, 2022

This is a Microverse (@microverseinc) project in which I created a To-do list using Webpack. User can add a task, delete it, edit its description, and clear the completed tasks.

Microverse To-Do list This is a Microverse (@microverseinc) project in which I created a To-do list using webpack. Requirements Build a Todo list usin

Aug 3, 2022

A to-do list app is a productivity tool designed to help users to create and maintain lists of tasks that they need to complete and it allows user to edit their tasks even after the task is saved. Built with CSS, HTML, and JAVASCRIPT.

Tumaini Maganiko πŸ“— Table of Contents πŸ“— Table of Contents πŸ“– To Do List PROJECT πŸ›  Built With Tech Stack Key Features πŸš€ Live Demo πŸ’» Getting Started

May 9, 2023
Owner
Veselin Petranchev
Veselin Petranchev
Taskem is a task manager that help you stay organized while boosting your creativity at the same time.

Taskem Introduction Taskem is a task manager that helps you stay organized while boosting your creativity at the same time. Our main goal is to help e

VarunBoi 8 Dec 25, 2022
Satyam Sharma 3 Jul 8, 2022
zieeco 12 Jul 8, 2022
Richard Chileya 5 Nov 11, 2022
Userscript developed by Stay & Third Party userscript available on Stay.

Stay offical userscript Get the userscript manager StayΒ² Developed by Stay Name Description Link ηŸ₯乎@AutoExpand θ‡ͺεŠ¨ε±•εΌ€ε›žη­”οΌŒζ”―ζŒηŸ₯δΉŽζ‘Œι’η‰ˆ Get Google@PreventAppJum

shen yin 72 Nov 15, 2022
Leader Board is a simple project based on JavaScript programing language. The purpose of this project is to work with APIs and ASYNC & AWAIT methods. I have used vanilla JavaScript with web pack to implement this project

Leader Board - JavaScript Project Table of contents Overview The challenge Screenshot Links Project Setup commands My process Built with What I learne

Mahdi Rezaei 7 Oct 21, 2022
↕️ A little Alpine.js plugin to automatically resize a textarea to fit its content.

↕️ Alpine Autosize ↕️ A little Alpine.js plugin to automatically resize a textarea to fit its content. ?? Installation CDN Include the following <scri

Marc Reichel 42 Nov 5, 2022