Giter VIP home page Giter VIP logo

bg_electrobill's Introduction

ElectroBill - The Bulgarian Electric Bill Calculator

This is a calculator with UI focused on the Bulgarian language, that allows you to calculate your monthly electric bill, based on your Usage, Power Consumption, and local Price.

Usage

Example usage instructions

  1. Clone and install the project (see the "Installation" instructions down below) - NOTE: This app uses cocoapods. You need to install Ruby, Cocoapds, and HomeBrew to clone, view or contribute to the project.
  2. Open the app on your iOS device or simulator.
  3. Navigate to the settings page on the simulator to customize preferences.
    • General -> Language & Region -> Number Format -> Set to 4th option (1234 567.89)
  4. Use the main screen to interact with the core features
  • Input your details in the text fields:

ScreenRecording2024-01-20at14 13 28-ezgif com-resize

  • Click "Калкулирай" to show you how much this appliance will cost in a day/week/month:
  • Click "Запази" to save your data:

ScreenRecording2024-01-20at14 27 17-ezgif com-resize

  • After adding your data, you can navigate to the "Резултат" screen. There you can see a list of all the appliances the user added. On the top, there are 3 items: two buttons and one label. The label calculates all of the appliances's monthly bills and adds them to the label. If the monthly sum is lower than 150 the label's text will be green, if it is lower than 200 it will be yellow, and higher than that it will be red.

ScreenRecording2024-01-20at14 45 38-ezgif com-resize

Features

  • The app uses Realm to store the user's database. If you close the app, the user's data will be persisted and will stay intact:

ScreenRecording2024-01-20at13 42 32-ezgif com-resize

  • When inputting your power consumption data, you can choose between kWh and Wh. Based on what you choose the calculations will be correct. Sometimes the appliance company does not provide the kWh power usage, but it gives the watts per hour. The formula for calculating the monthly bill is kWh * timePerHour * price:

wat-kwh-ezgif com-resize

  • If the user is inputting text fields, they can dismiss the keyboard by clicking anywhere on the screen:

ScreenRecording2024-01-20at14 42 06-ezgif com-resize

  • When the user is in the "Резултат" screen, he can delete individual cells, by swiping right. When a user does that, the label that calculates the monthly bill sum automatically updates. If he chooses to click the "trash" icon in the upper left corner, it will delete all the cells at ones.

Untitled-ezgif com-resize

ScreenRecording2024-01-20at13 44 16-ezgif com-resize

Dependencies

In this project, I have used some cocoapods to add functionality to the app. Here is the list:

  • RealmSwift
  • SwipeCellKit
  • IQKeyboardManagerSwift

Installation

Example installation steps

  1. Clone the repository
    git clone https://github.com/John-Mark01/BG_ElectroBill.git
  2. Install CocoaPods
  • open Terminal
    cd BG_ElectroBill
    pod init
  • open pod file and paste:
     pod 'RealmSwift', '~>10'
     pod 'SwipeCellKit'
     pod 'IQKeyboardManagerSwift'
  • head back to Terminal
    pod install
  1. Open the ".xcworkspace" file
  2. Enjoy

Contact

If you want to contribute to this project or have any questions, you can contact me:

bg_electrobill's People

Contributors

john-mark01 avatar

Stargazers

 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.