{"id":13288525,"url":"https://github.com/bvrtek-dev-py/budgetBackend","last_synced_at":"2025-03-10T06:33:39.174Z","repository":{"id":210876344,"uuid":"726949179","full_name":"bvrtek-dev-py/budgetBackend","owner":"bvrtek-dev-py","description":"Application for managing home budget","archived":false,"fork":false,"pushed_at":"2024-02-03T14:46:58.000Z","size":290,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-29T16:59:35.908Z","etag":null,"topics":["asyncapi","fastapi","python","python3","rest","sqlalchemy-async"],"latest_commit_sha":null,"homepage":"","language":"Python","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/bvrtek-dev-py.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-12-03T21:21:28.000Z","updated_at":"2024-07-29T16:59:35.908Z","dependencies_parsed_at":"2023-12-05T11:26:56.263Z","dependency_job_id":"bde0891b-79be-48da-9859-5eba8a0b52a4","html_url":"https://github.com/bvrtek-dev-py/budgetBackend","commit_stats":null,"previous_names":["bvrtek-dev-py/budgetbackend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvrtek-dev-py%2FbudgetBackend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvrtek-dev-py%2FbudgetBackend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvrtek-dev-py%2FbudgetBackend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bvrtek-dev-py%2FbudgetBackend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bvrtek-dev-py","download_url":"https://codeload.github.com/bvrtek-dev-py/budgetBackend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242805426,"owners_count":20187995,"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":["asyncapi","fastapi","python","python3","rest","sqlalchemy-async"],"created_at":"2024-07-29T16:56:55.543Z","updated_at":"2025-03-10T06:33:35.984Z","avatar_url":"https://github.com/bvrtek-dev-py.png","language":"Python","readme":"# Home Budget Management\n\nManage your home budget efficiently with this Python-based application powered by FastAPI and MySQL.\n\n## Table of Contents\n- [Project Overview](#project-overview)\n- [Features](#main-features)\n- [Tech Stack](#tech-stack)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Launching the project](#launching-the-project)\n\n\n## Project Overview\n\nHome Budget Management is a web application designed to help users track and manage their household expenses. Users can create accounts, manage multiple wallets, and categorize spendings based on different criteria such as categories and time periods.\n\n## Main Features\n\n1. **User Accounts:**\n   - Users can create accounts to personalize their budget management experience.\n\n2. **Multiple Wallets:**\n   - Each user can have multiple wallets to organize and track expenses separately.\n\n3. **Group Spendings:**\n   - Users can categorize their spendings to gain insights into where their money is going.\n\n4. **Time-based Tracking:**\n   - Spendings can be grouped based on different periods of time, providing a historical view of expenses.\n\n5. **Wallet Statistics:**\n   - Users can view detailed statistics for each of their wallets, including the total balance, spending patterns, and income trends\n   \n## Tech Stack\n\n- Python 3.11.5\n- FastAPI\n- MySQL\n\n## Getting Started\n\n### Prerequisites\n\nEnsure you have the following installed on your system:\n\n- Python 3.11.5\n- MySQL 8.0\n\n### Launching the Project\n\n#### Step 1: Clone the Repository\n\n```bash\ngit clone https://github.com/bvrtek-dev-py/budgetBackend\n```\n\n#### Step 2: Copy variables from .env.example to .env\n\n```\nDB_ROOT_PASSWORD=enter-variable\nDB_USER=enter-variable\nDB_PASSWORD=enter-variable\nDB_HOST=enter-variable\nDB_PORT=enter-variable\nDB_NAME=enter-variable\n\nSECRET_KEY=test-secret-key (paste generated key)\nREFRESH_TOKEN_SECRET_KEY=test-refresh-secret-key (paste generated key)\nALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=30\n```\n\n#### Step 3: Set database .env variables to database properties from Dockerfile\n```\nDB_ROOT_PASSWORD=root_password\nDB_USER=my_user\nDB_PASSWORD=my_password\nDB_HOST=localhost\nDB_PORT=3306\nDB_NAME=my_database\n```\n\n\n#### Step 4: Open terminal in backend directory\n\n```bash\ncd backend\n```\n\n#### Step 5: Install dependencies\n\n```bash\npoetry install\n```\n\n#### Step 6: Open Docker Desktop application\n\n\n#### Step 7: Jump to docker dir and build container\n\n```bash\ncd docker\n```\n\n```bash\ndocker-compose up -d\n```\n\n#### Step 8: Go back to backend and run migrations\n\n```bash\ncd ..\n```\n\n```bash\nalembic upgrade head\n```\n\n#### Step 9. Run main.py file\n\n#### Step 10. Open web browser on 127.0.0.1/docs\n\n![obraz](https://github.com/bvrtek-dev-py/budgetBackend/assets/112180048/0f6a61df-e1a1-4cea-b1c8-9c49bd639faa)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvrtek-dev-py%2FbudgetBackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbvrtek-dev-py%2FbudgetBackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbvrtek-dev-py%2FbudgetBackend/lists"}