Giter Club home page Giter Club logo

kalanmymoney's Introduction

What is Kalan My Money?

According to AULEX dictionary, Kalan means guardian or protector in Maya language, and it's an appropriate name for a personal finance manager system (maybe not for commercial uses hehe), so that is Kalan My Money.

Arquitecture

Kalan My Money follows Clean Architecture principles; you can find more about that on the next page: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html

As you can see in the following image, clean architecture has 4 layers (typically)

CleanArchitecture

This system follows those principles, but we are free to add any layers that the systems needs, but we need to keep good practices in the two inner layers, entities and use case we called this Domain; the domain needs to follow the SOLID and Clean Architecture principles strictly.

TDD and Unit Testing

Also, we are following the three TDD rules:

  • You are not allowed to write any production code unless it is to make a failing unit test pass.
  • You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
  • You are not allowed to write any more production code than is sufficient to pass the one failing unit test.

but we want to keep and order in or unit test suit so, for that we following the Arrange Act and Assert patterns in our TDD, yeah, I know, maybe it's strange, but it works fine if we are disciplined.

So remember Red, Gren and Blue!.

Use Cases and Desinging

In Documents folder, you can find our uses cases and some diagrams; this is very important, we use TDD as a tool to confirm our design and protect our code from bugs, it is normal when you are working with TDD following design, ending with a completely different one, and for that, we are using TDD in this project!, to confirm our design.

How to contribute?

im working on it!

Licence

https://github.com/xChiro/KalanMyMoney/blob/main/LICENSE.md

kalanmymoney's People

Contributors

xchiro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.