Skip to content

A Software Engineering Experiment created for practical knowledge integralization

Notifications You must be signed in to change notification settings

rochajario/my-kanban-asp.net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Kanban

Software Engineering Experiment - Practical Knowledge Integralization
Pontificial Catholic University of Minas Gerais - PUC Minas
Post Graduation - Software Engineering Specialization
2023

Build and Test

Summary

  1. Contextualization
  2. Running the Application
  3. System Specification
  4. Architecture Proposal

Contextualization

The Kanban board is a tool for workflow visualization, designed to help you bring clarity to your work process and enhance efficiency by limiting work in progress. With this new level of transparency, you will quickly identify problematic work stages, and by improving those, your team will soon work more efficiently.

Running the Application

Running locally with predefined settings:

> BUILD & RUN:
docker compose -f ./compose.local.yml up

> DESTROY & CLEAN:
docker compose -f ./compose.local.yml down

Running in production environments:

  1. Ensure that you have a MySQL or a MariaDB with version 8.0.31 configured and accessible by the environment in wich the service will be deployed;
  2. Use the init.sql script to initialize a new database schema;
  3. Ensure that the target environment has a variable CONNECTION_STRING with the following sintax:
server=server_address;user=database_user;password=user_password;database=database_schema
  1. Run the application Dockerfile with the command docker run

System Specification

Id Description System Domain
Functional Requirements
FR01 When created, a Board should be given an 'Active' status Board Management
FR02 An active Board should allow the user finishing all children Tasks at once; Board Management
FR03 When an active Board is deleted, all children Tasks are deleted also; Board Management
FR04 When a Board receives an 'Inactive' status:
  1. Children Tasks can't be changed in any way;
  2. The Board itself can't be deleted.
Board Management
FR05 Tasks must be related to a single board, meaning that they belong to a specific context; Task Management
FR06 When created, tasks must be given a status of "New Task", meaning that it still waits for an interaction; Task Management
FR07 Each and every interaction in tasks must change it's 'lastUpdate' field; Task Management
FR08 Tasks waiting to be done and ongoing tasks should allow adding comments; Task Management
FR09 Finished tasks should not allow adding comments; Task Management
FR10 Tasks can be Finished in two ways:
  1. Canceled;
  2. Completed.
Task Management
Non-Functional Requirements
NFR01 App must be optimed to work in small screens (mobile devices); User Experience
NFR02 App data must be persisted in a free Relational database; Implementation
NFR03 System must be built using Onion Architecture in order to set a standard of maintanence and growth overtime. Implementation
Reference
Label Description
FR Function Requirement
NFR Non-Function Requirement

Architecture Proposal

Entity-Model Relations
Image 1: Dependency Structure and Intended entities and relations

Web Navigation Scheme
Image 2: Intended navigation scheme with interactions

About

A Software Engineering Experiment created for practical knowledge integralization

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published