{"id":19525965,"url":"https://github.com/chrisshim98/budgettracker","last_synced_at":"2026-04-10T15:06:33.401Z","repository":{"id":219844837,"uuid":"597307681","full_name":"ChrisShim98/BudgetTracker","owner":"ChrisShim98","description":"Budget Tracking Web Application","archived":false,"fork":false,"pushed_at":"2024-03-03T16:40:24.000Z","size":1775,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-08T15:28:23.950Z","etag":null,"topics":["angular","cloud","dotnet-core","tailwindcss"],"latest_commit_sha":null,"homepage":"https://budgetappcs.fly.dev/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChrisShim98.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}},"created_at":"2023-02-04T05:56:14.000Z","updated_at":"2024-12-23T21:51:19.000Z","dependencies_parsed_at":"2024-01-30T02:00:03.307Z","dependency_job_id":"1d3db372-9445-40c6-a32d-3e1bb849505d","html_url":"https://github.com/ChrisShim98/BudgetTracker","commit_stats":null,"previous_names":["chrisshim98/budgettracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisShim98%2FBudgetTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisShim98%2FBudgetTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisShim98%2FBudgetTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisShim98%2FBudgetTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisShim98","download_url":"https://codeload.github.com/ChrisShim98/BudgetTracker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240777554,"owners_count":19855856,"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":["angular","cloud","dotnet-core","tailwindcss"],"created_at":"2024-11-11T01:07:45.860Z","updated_at":"2025-12-30T21:33:50.871Z","avatar_url":"https://github.com/ChrisShim98.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Budget Tracker - Web Application\n\u003cp align=\"center\"\u003e\n \u003cb\u003eDeveloped with .NET Core 7.0 x Tailwind.css x Angular 14\u003c/b\u003e\n \u003cimg src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709399843/Github/Description/yjbq9arurxl5ckqylrfc.png\"\u003e\n\u003c/p\u003e\n\nVisit the [live demo](https://budgetappcs.fly.dev/) to explore the application.\n\n**Testers can sign on as the guest user by clicking on \"Guest User\" or \"Register for a New Account.\"**\n\n## What can this application do?\n\nIn this application, users can:\n\n1. **Register**: Users can register for a new account using their username and password with reactive forms.\n\n2. **Login**: Secure login to the application is facilitated with a JSON Web Token (JWT), ensuring secure information transfer between the .NET server and the client web application.\n\n3. **Create Budgets**: Users can create monthly budgets by inputting income, expenses, and passive income.\n\n4. **View Budgets**: All created budgets are displayed by month, with all details calculated for easy reference.\n\n5. **Visual Representation**: Users can visualize total income, expenses, and savings, providing a clear overview of their financial situation.\n\n6. **Edit Budgets**: Users have the option to edit budgets that have already been saved.\n\n7. **Delete Budgets**: Budgets can be deleted by their respective month.\n\n8. **Profile Management**: Users are able to update their username and password for account management purposes.\n\n## Description of Tech Stacks\n\nThis project is a dating web application that was developed with Angular 14 as the client-facing technology, Microsoft .NET Core 7 as the server-side framework, and Tailwind CSS for the design of the application.\n\nThe application capitalizes on Angular, a JavaScript framework maintained by Google, to construct highly efficient and lightning-fast single-page applications. This ensures swift rendering of all processes to the user, enhancing the overall user experience.\n\nFurthermore, the utilization of ASP.NET Core, a cross-platform, high-performance, open-source framework by Microsoft, adds robustness to the server-side architecture. ASP.NET Core is bundled with an object-relational mapper, facilitating smooth interaction with relational data using domain-specific objects. This enables rapid CRUD (Create, Read, Update, and Delete) operations and simplifies the visualization of data models, thereby reducing development time and costs. Consequently, the application achieves scalability and maintainability effortlessly.\n\nIn terms of design, Tailwind CSS offers a comprehensive set of utility classes for styling, allowing for flexible and customizable UI components. By leveraging Tailwind CSS, the application achieves a polished and responsive design, ensuring a visually appealing user interface.\n\nTogether, these technologies form a powerful stack, enabling the creation of a feature-rich and user-friendly dating web application.\n\n## Deployment Strategy\n\nThe deployment process for this application involves several steps to ensure seamless delivery:\n\n- **Building and Compression**: The Angular application is built and compressed, along with the Dotnet server files.\n\n- **Dockerization**: The compressed files are dockerized within an Ubuntu (Linux) server environment using Docker containers.\n\n- **Cloud Platform**: The dockerized application is then deployed to a cloud Platform as a Service (PaaS) provider, specifically Fly.io.\n\n## Screenshots\n| Home Page  | Log In Page |\n| ------------- | ------------- |\n| \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482027/Github/BudgetTracker/ruhqbzabjsllakz6lz12.png\" alt=\"Home Page\"\u003e  | \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482061/Github/BudgetTracker/xihexywpp1o4tv3lthai.png\" alt=\"Log In Page\"\u003e  |\n\n| New Budget  | View Budget |\n| ------------- | ------------- |\n| \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482090/Github/BudgetTracker/timfppw90xnvn7w1ysxh.png\" alt=\"New Budget\"\u003e  | \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482121/Github/BudgetTracker/hj6eizgwtfjvdx1zkb0p.png\" alt=\"View Budget\"\u003e  |\n\n| Select Budget  | Settings |\n| ------------- | ------------- |\n| \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482158/Github/BudgetTracker/wzubq4s63az5k3j7to6m.png\" alt=\"Select Budget\"\u003e  | \u003cimg width=\"500\" src=\"https://res.cloudinary.com/dhpo94oka/image/upload/v1709482185/Github/BudgetTracker/eei0600y2gt6qcku4njo.png\" alt=\"Settings\"\u003e  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisshim98%2Fbudgettracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisshim98%2Fbudgettracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisshim98%2Fbudgettracker/lists"}