Skip to content

Data-Structures-4022-NIT/Data-Structures-Course-Project-Simple-Task-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Data Structures Course Project: Simple Task Manager

Overview

This project aims to blend theoretical knowledge of data structures with practical software development skills by creating a task management system akin to Jira. Students are tasked with designing and implementing their own data structures to handle different aspects of task management efficiently.

Features

  • User Management: Functions such as register, login, and manage user profiles.
  • Task Management: Includes capabilities to create, update, delete, and search for tasks.
  • Project Boards: Organize tasks within customizable projects and boards.
  • Role-based Access Control: Implement different permissions based on user roles such as Admin, Manager, and User.

Data Structures

Students are required to implement the following data structures from scratch and integrate them into their application:

  • Stack: Used for managing undo operations in task edits.
  • Queue: Handle notifications and task processing queues.
  • Linked List: Maintain dynamic lists of tasks and projects.
  • Binary Tree: Enhance the efficiency of search operations.
  • Hash Table: Used for fast mapping of user IDs to user details and task IDs to tasks.

Technical Requirements

  • Backend: Students may choose any programming language (e.g., Python, Java, Node.js).
  • Frontend: A graphical user interface (GUI) must be developed. Frameworks like React, Angular, or even simpler ones like Tkinter for Python can be used.
  • Database: Students are free to choose any relational or NoSQL database (e.g., MySQL, PostgreSQL, MongoDB, Firebase).

Getting Started

Prerequisites

  • Install the chosen programming language and setup the selected database on your local machine.

Installation

  1. Create an organization for your team in github.

  2. Create a repository in your organization and add at least one TAs to your repository.

  3. Start your project implemention and commit each changes in git. HINT: Your commits will be checked and has a part of your score.

Project Structure

  • src/: Contains all source files for backend and frontend implementations.
  • db/: Database scripts, schemas, and connection configurations.
  • docs/: Additional documentation and detailed project specifications.
  • tests/: Test scripts for unit and integration testing.

Evaluation Criteria

  • Effective implementation and use of the specified data with the database, programming language, and GUI choices.
  • Functionality and usability of the GUI in task and user management.
  • Code quality, documentation, and error handling.

Appendix

  • Additional instructions on data structure applications and GUI development best practices will be provided in supplementary documents.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors