Code Monkey home page Code Monkey logo

budget-checker's Introduction

Budgety

A simple budget app made using HTML5, CSS3 & JavaScript. The app can be used here.

How to use Budgety

  • Plus sign (+) signifies "Income" & the Minus sign (-) signifies "Expense"
  • After choosing +/- (i.e., income/expense), add the description.
    • Example description for income is "Salary"
    • Example description for expense is "Rent", "Bills", etc
  • After adding the description, you can add the value (has to be more than 0) and then press Enter โŽ to add the entry into the respective list
  • To delete an existing item in either the income/expense list, simply hover over the item in the respective list and press โŠ—

What did I learn?

Some of the concepts I've garnered/understood while working on this project are the following:

  • Familiarized myself with Module Pattern, Encapsulation & Separation of Concerns
    • Module Pattern enforces the idea of "A System/App is a combination of many Parts/Modules"
    • Using Immediately Invoked Function Expressions (IIFEs), we are able to achieve Encapsulation and also data privacy
    • Module Pattern also encourages Separation of Concerns, where one Controller for a certain module only handles the work/functionality related to that particular module only
  • JavaScript Concepts:
    • Enforcement of core concepts of the language like IIFEs & Closures
    • Usage of general functions like map(), splice(), forEach(), etc, along with the usage of string manipulation functions like strip(), substr(), replace(), matches(), etc
    • Usage of Function Constructors to create objects. Using the prototype property to add methods to the predefined constructors.
    • DOM Access & Manipulation:
      • A thorough understanding of Event Bubbling, Target Element & Event Delegation
      • Understanding of certain events like keypress, change, click, etc
      • Understanding the usage of certain methods like innerAdjacentHTML(), removeChild(), querySelectorAll(), etc
      • Understanding of parentNode property
      • What a NodeList is and how to traverse it
    • The Date() Constructor and its uses

budget-checker's People

Contributors

ravi8972 avatar

Watchers

 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.