{"id":15152640,"url":"https://github.com/onjoseph/budgetapp","last_synced_at":"2026-01-20T18:56:02.310Z","repository":{"id":162299642,"uuid":"636064678","full_name":"ONJoseph/BudgetApp","owner":"ONJoseph","description":"The Budget App is a mobile web application where you can manage your budget, you have a list of transactions associated with a category, so that you can see how much money you spent and on what.","archived":false,"fork":false,"pushed_at":"2023-05-23T11:35:25.000Z","size":415,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-02-13T13:52:57.220Z","etag":null,"topics":["bootstrap","javascript","microverse","rubyonrails","scss"],"latest_commit_sha":null,"homepage":"https://github.com/ONJoseph/BudgetApp","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ONJoseph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-04T03:50:12.000Z","updated_at":"2023-05-15T02:13:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"491e986c-c5f9-411d-a124-1024b465dee0","html_url":"https://github.com/ONJoseph/BudgetApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ONJoseph%2FBudgetApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ONJoseph%2FBudgetApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ONJoseph%2FBudgetApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ONJoseph%2FBudgetApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ONJoseph","download_url":"https://codeload.github.com/ONJoseph/BudgetApp/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640472,"owners_count":20971558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","javascript","microverse","rubyonrails","scss"],"created_at":"2024-09-26T16:20:30.698Z","updated_at":"2026-01-20T18:56:02.259Z","avatar_url":"https://github.com/ONJoseph.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"budget-app.png\" alt=\"logo\" width=\"860\"  height=\"589\" /\u003e\n  \u003cbr/\u003e\n\n  \u003ch2\u003e\u003cb\u003eBudget App\u003c/b\u003e\u003c/h2\u003e\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [🛠 Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n  - [🚀 Live Demo \u0026 Project Presentation](#live-demo)\n- [💻 Getting Started](#getting-started)\n  - [Setup](#setup)\n  - [Prerequisites](#prerequisites)\n  - [Install](#install)\n  - [Usage](#usage)\n  - [Run tests](#run-tests)\n  - [Deployment](#triangular_flag_on_post-deployment)\n- [👥 Authors](#authors)\n- [🔭 Future Features](#future-features)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [🙏 Acknowledgements](#acknowledgements)\n- [📝 License](#license)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# 📖 Budget App \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**Budget App** The Budget app is a mobile web application where you can manage your budget: you have a list of transactions associated with a category, so that you can see how much money you spent and on what. It allows the user to:\n\n- **register and log in, so that the data is private to them.**\n- **introduce new transactions associated with a category.**\n- **see the money spent on each category.:**\n\n \u003c!-- \u003cimg src=\"#\" alt=\"app-demo\" /\u003e --\u003e\n\n \u003c/br\u003e\n\n## Project requirements\n\n### General requirements\n\n- Make sure that there are [no linter errors](https://github.com/microverseinc/linters-config).\n- Make sure that you used correct [Gitflow](https://github.com/microverseinc/curriculum-transversal-skills/blob/main/git-github/articles/gitflow.md).\n- Make sure that you documented your work [in a professional way](https://github.com/microverseinc/curriculum-transversal-skills/blob/main/documentation/articles/professional_repo_rules.md).\n\n### Ruby requirements\n\n- Follow our list of [best practices for Ruby](https://github.com/microverseinc/curriculum-ruby/blob/main/articles/ruby_best_practices.md).\n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cul\u003e\n  \u003cli\u003eRuby\u003c/li\u003e\n  \u003cli\u003eRuby on Rails\u003c/li\u003e\n  \u003cli\u003eJavaScript\u003c/li\u003e\n  \u003cli\u003ePostgreSQL\u003c/li\u003e\n  \u003cli\u003eGitHub\u003c/li\u003e\n  \u003cli\u003eCSS/SCSS(Bootstrap)\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- [ ] Splash screen:\n- A simple page with the name of your app (yes, you need to choose one), and links to the sign up and log in pages.\n- [ ] Sign up and log in pages:\n- The user should be able to register in the app with full name, email and password (all mandatory).\n- The user can log into the app using email and password.\n- If the user is not logged in, they can't access pages that require the user to be logged in (all the pages described below).\n- [ ] Home page (categories page):\n- When the user logs in, they are presented with the categories page.\n- For each category, the user can see their name, icon and the total amount of all the transactions that belongs to that category.\n- When the user clicks (or taps) on a category item, the application navigates to the transactions page for that category.\n- There is a button \"add a new category\" at the bottom that brings the user to the page to create a new category.\n- [ ] Transactions page:\n- For a given category, the list of transactions is presented, ordered by the most recent.\n- At the top of the page the user could see the total amount for the category (sum of all of the amounts of the transactions in that category).\n- There is a button \"add a new transaction\" at the bottom that brings the user to the page to create a new transaction.\n- When the user clicks on the \"Back\" button (\u003c), the user navigates to the home page.\n- [ ] \"Add a new category\" page:\n- The user fills out a form to create a new category, indicating their name and icon (both mandatory).\n- The user clicks (or taps) the \"Save\" button to create the new category, and is taken to the home page on success.\n- When the user clicks on the \"Back\" button (\u003c), the user navigates to the home page.\n- [ ] \"Add a new transaction\" page:\n- The user fills out a form to create a new transaction with:\nname (mandatory)\namount (mandatory)\ncategories (mandatory at least one)\n- The user click (or taps) the \"Save\" button to create the new transaction, and is taken to the transactions page for that category.\n- When the user clicks on the \"Back\" button (\u003c), the user navigates to the transactions page for that category.\n- [ ] Create unit and integration tests for all the most important components of your RoR application.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LIVE DEMO --\u003e\n\n## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e\n\n- [Live Demo Link](https://budgetapp-bq5r.onrender.com/)\n\n### Video documentation 📹\n- [Video presentation by Joseph Ogbole](https://www.loom.com/share/234eeca26cba42008ac4ee1d71752c97)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- GETTING STARTED --\u003e\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\n### Prerequisites\n\nEverything will be based on the ERD class diagram presented below. \n\n\u003c/br\u003e\n \u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"gif\" src=\"./erd_diagram.png\" width=50% /\u003e\n    \u003cp\u003eEntity Relationship Diagram (ERD) of Budget App project\u003c/p\u003e\n\u003c/div\u003e\n\n## Getting Started\nTo run the project locally, copy up and running follow these simple example steps :\n\n - First of all make sure you have both `Ruby` \u0026 `Rails` installed in your machine\n (else You can install `Rails` just with this simple command  ```gem install rails```)\n```\n$ git clone ### Setup\n- Clone this repository to your computer: git clone https://github.com/ONJoseph/BudgetApp.git\n```\n - Then go to the right folder \n```\n$ cd BudgetApp\n```\n```\n$ bundle\n```\nand run to install npm package\n```\n$ npm install\n```\n\nmake sure the database is up and running.\n```\n$ rails db:create\n```\nWhen you will add migration file then, you can add command like\n```\n$ rails db:migrate\n```\nRun this command line to add some dummy data\n```\n$ rails db:seed\n```\n\n - Finaly run `rails s` and visit http://localhost:3000/  in your browser!\n\n ## Run tests :\n\n To run Request specs locally you need just to run this following command in your terminal :\n\n ```\n $ bundle exec rspec\n ```\n \u003c/br\u003e\n\n### Install\n- Write: bundle install\n- Write: npm install\n\n### Usage\n- To test the app:\n    - rspec (general)\n    - rspec spec/unit/name_of_sile (specific one)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- AUTHORS --\u003e\n\n## 👥 Author \u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **Joseph Ogbole**\n\n- GitHub: [@ONJoseph](https://github.com/ONJoseph)\n- Twitter: [@ONJoseph1](https://twitter.com/ONJoseph1)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/o-n-joseph-ba8425147/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FUTURE FEATURES --\u003e\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] Integration with financial institutions: The ability to connect to users' bank accounts and automatically import their transactions into the app.\n- [ ] Bill reminders: The app can remind users of upcoming bills and help them avoid late fees.\n- [ ] Multi-currency support: For users who frequently travel or live in multiple countries, the app could support multiple currencies and provide exchange rate information.\n- [ ] Social features: Users can invite friends or family members to join the app and share budgeting goals or expenses with them.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/ONJoseph/BudgetApp/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SUPPORT --\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nI really enjoyed working on this project. If you like it show your support by giving a star.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Acknowledgments --\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\n- [Microverse](https://www.microverse.org/) for the motivation.\n- Design: Original design idea by (Gregoire Vella on Behance)[https://www.behance.net/gregoirevella]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](https://github.com/ONJoseph/BudgetApp/blob/dev/LICENCE) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonjoseph%2Fbudgetapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonjoseph%2Fbudgetapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonjoseph%2Fbudgetapp/lists"}