Giter Club home page Giter Club logo

power-bank's Introduction

Power Bank 2

πŸ’‘ What did we make?

Our main objective was based on creating a platform for banks to which both employees and customers of the same had access in which they had greater ease to be able to carry out its different functionalities in an intuitive and simple way.

🧐 How did we make it?

This platform has been developed using a Clean Architecture and referring to SOLID Principles. That is, group the different classes that we were using in different folders such as controllers, data, repositories and use cases. Having these folders helped us understand where each functionality of the program was located and thus maintain a certain order in the creation of the code.

πŸ“ˆ Component Diagram

Diagrama sin título drawio

πŸ’¬ Textual Description

  • Controllers: manage the flow of the program in such a way that they able to control the activity of the user

  • UseCases: basically referring to the business logic of our program. They will only contain the execute method so that we can keep them simple (-80 code lines) and understandable avoiding future conflicts

  • Repositories: classes in charge of deleting, accessing, adding or modifying the database. These classes inherit from the AbstractRepository so that the data can persist every time we run an useCase

  • Domain: all the tangible things that conform our program. They describe the foundations where the rest of the program may be built

    • Exceptions
    • Constants: repetitive values all over the program (we use OOP so we need objects for that).
    • Entities: "our universe"

⁉️ Why did we develop it this way?

During many of our first projects and due to our limited knowledge we have implemented our ideas resulting in the well-known Spaghetti Code 🍝 which always led us to various problems when expanding or maintaining our program around the feedback received, thanks to those first steps we have realized how important it is to maintain good Software Quality.

Due to this reasoning we have put this philosophy into practice developing code which is:

  • Functional
  • Reliable
  • Efficient
  • Maintainable
  • Portable
  • Scalable

power-bank's People

Contributors

carldt97 avatar akuien avatar d0nate110 avatar gusreinaos avatar jonnaj98 avatar

Watchers

 avatar  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.