Skip to content

joseluistello/ToDo-List

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Space Management with Django

A small web application to manage your tasks

gifspace

Content

1. Domain

  1.1 Description

  1.2 CRD Model

  1.3 Event Storming

2. Architecture

  2.0 C4 Model

  2.1 System Container Context C1-C2

3. How to run

  3.1 Installation

4. Inspiration

1. Domain

1.1 Description

Definition:

Domain - A sphere of knowledge, influence, or activity. The subject area to which the user applies a program is the domain of the software. Domain-Driven Design Reference, Eric Evans

Main reasons for selecting this domain:

  • It is common to have different tasks throughout the day.
  • It is not easy to remember everything we have to do.
  • It's a simple project with which I can learn a little more about Django.
  • This project can help people to manage their day to day life.

Tasks and users

The main project entitie are tasks and users. A person becomes a user by registering.

A task can be created by a user.

A task can be deleted by a user.

A task can be updated by a user.

A user can have multiple tasks.

1.2 CRD Model

Definition:

CRD Model - A CRD model is a collection of cards that represent whole or part of an application or problem domain. It's a model that I have created to represent the responsibility and dependency of the classes of a project. This model can be used for projects with object oriented programming or functional programming approach.

dependency

1.3 Event Storming

There are many ways to show behavior and events. One of them is a light technique called Event Storming which is becoming more popular. Below are presented 2 main business processes using this technique: user registration and tasks.

Note: Event Storming is a light, live workshop. One of the possible outputs of this workshop is presented here. Even if you are not doing Event Storming workshops, this type of process presentation can be very valuable to you and your stakeholders.

User Registration and Task Management process


flow

2. Architecture

2.0 C4 Model

C4 model is a lean graphical notation technique for modelling the architecture of software systems.

As can be found on the website of the author of this model (Simon Brown): The C4 model was created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase

Model C4 defines 4 levels (views) of the system architecture: System Context, Container, Component and Code. Below are examples of each of these levels that describe the architecture of this system. In this example I will use a hybrid of system context (C1) and container (C2) for the simplicity of the application.

2.1 System Container Context C1-C2

diagram

3. How to run

3.1 Installation

  1. Clone the repo

    git clone https://github.com/joseluistello/ToDo-List.git
  2. Create Virtual Enviroment

    cd ToDoList
    virtualenv venv
  3. Run Virtual Enviroment

    venv\Scripts\activate
  4. Install Django

    pip install Django
  5. Run Django

    python manage.py runserver

4. Inspiration

kamil Grzybek

Contact

José Luis Tello - @jotaele_tello - joluistello@gmail.com

About

Creating a toDo-List with Django

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published