Giter Site home page Giter Site logo

vesmirov / budget-beacon Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 53 KB

Budget Beacon - Empowering personal financial management by providing comprehensive tools for income tracking, budget planning, and funds allocation.

Dockerfile 0.41% Shell 0.13% Python 99.45%

budget-beacon's Introduction

budget-beacon

Budget Beacon - Empowering personal financial management by providing comprehensive tools for income tracking, budget planning, and funds allocation.

budget-beacon's People

Contributors

vesmirov avatar

Stargazers

 avatar

Watchers

 avatar

budget-beacon's Issues

Implement API for Fund and User Budget Management in 'finances' application

Type

  • bug
  • feature
  • refactoring
  • other

Title

Implement API for Fund and User Budget Management in 'finances' application

Description

We need to give users the ability to manage both their fund and personal budgets. Therefore, an API should be developed to allow users to create, update, delete, and view their budgets, whether they be associated with a particular fund or with the user themselves.

Solution Design

The development task includes:

  1. Implementing CRUD operations for FundBudget and UserBudget models.
  2. Validation of input data.
  3. Proper handling of errors and exceptions.
  4. Writing tests to ensure the functionality of the endpoints.

Additional Information

N/A

Create Finance-related models in 'finances' application

Type

  • bug
  • feature
  • refactoring
  • other

Description

Four models need to be created in the 'finances' application:

  • IncomeSource: Model representing various sources of income for the user.
  • ExpenseCategory: Model representing different categories of expenses for the user
  • Fund: Model representing different funds where user is saving money.
  • Transaction: Model representing all transactions made by the user (both income and expenses)

Solution Design

IncomeSource:

  • user (ForeignKey to User)
  • name
  • description

ExpenseCategory:

  • user (ForeignKey to User)
  • name
  • description

Fund:

  • user (ForeignKey to User)
  • name
  • description
  • target_amount

Transaction:

  • user (ForeignKey to User)
  • income_source (ForeignKey to IncomeSource, set to null on deletion)
  • expense_category (ForeignKey to ExpenseCategory, set to null on deletion)
  • fund (ForeignKey to Fund, set to null on deletion)
  • amount
  • description
  • date (DateTimeField, set to now on creation)

Additional Information

Is blocked by issue #3

Create User-related models in 'users' and 'finance' application

Type

feature

Description

Two models need to be created in the 'users' and 'finance' applications:
UserProfile - Extended user model to include profile related fields
Currency - Model representing different types of currencies

Solution Design

Currency:

  • name
  • symbol
  • code

UserProfile:

  • user (OneToOneField to User)
  • default_currency (ForeignKey to Currency, set to null on deletion)

Additional Information

N/A

Setup CI with running tests

Type

  • bug
  • feature
  • refactoring
  • other

Description

Setup CI builds with tests running for each push.
Keep in mind that for that you might need to create either shell scripts, or describe a separate docker config.

Solution Design

We can use GitHub CI/CD

Additional Information

N/A

Implement User Management API in 'users' application

Type

  • bug
  • feature
  • refactoring
  • other

Description

Implement user management API endpoints for the 'users' application.

Solution Design

  1. Establish a UserViewSet in users/views.py using Django Rest Framework's ModelViewSet, encapsulating the CRUD operations.
  2. Articulate the user model serializers within users/serializers.py.
  3. Incorporate the new API routes in users/urls.py by registering the UserViewSet.
  4. Enforce appropriate permission levels for the API endpoints.
  5. Draft comprehensive tests for the newly created API endpoints.

Additional Information

Remember to abide by RESTful API design principles throughout the development process. Your extensive knowledge in Django and Django Rest Framework will ensure efficient implementation.

Develop Transaction Management API in 'finances' application

Type

  • bug
  • feature
  • refactoring
  • other

Title

Implement API for Transaction Management in 'finances' application

Description

We need to provide users the ability to track their financial transactions. Hence, an API should be developed to allow users to create, update, delete, and view their transactions.

Solution Design

The development task includes:

  1. Implementing CRUD operations for Transaction model.
  2. Validation of input data.
  3. Proper handling of errors and exceptions.
  4. Writing tests to ensure the functionality of the endpoints.

Additional Information

N/A

Create Fund Management API in 'finances' application

Type

  • bug
  • feature
  • refactoring
  • other

Title

Implement API for Fund Management in 'finances' application

Description

As a part of our financial management system, we need endpoints to allow users to create, update, delete, and view their financial funds. The API should handle the logic for 'fund' instances including the related fields such as name, description, balance, goal, and budget.

Solution Design

The development task includes:

  1. Implementing CRUD operations for Fund model.
  2. Validation of input data.
  3. Proper handling of errors and exceptions.
  4. Writing tests to ensure the functionality of the endpoints.

Additional Information

N/A

Describe a datamigration with base currencies

Type

  • bug
  • feature
  • refactoring
  • other

Description

The currency model is described. Not it should be filled with basic currencies:

# Currency Name Unicode Symbol
1 USD US Dollar U+0024
2 EUR Euro U+20AC
3 JPY Japanese Yen U+00A5
4 GBP British Pound Sterling U+00A3
5 AUD Australian Dollar U+0024
6 CAD Canadian Dollar U+0024
7 CNY Chinese Yuan U+00A5
8 CHF Swiss Franc U+20A3
9 KRW South Korean Won U+20A9
10 RUB Russian Ruble U+20BD
11 INR Indian Rupee U+20B9
12 BRL Brazilian Real U+20A2
13 MXN Mexican Peso U+0024
14 SEK Swedish Krona U+006B
15 NZD New Zealand Dollar U+0024
16 SGD Singapore Dollar U+0024
17 NOK Norwegian Krone U+006B
18 TRY Turkish Lira U+20BA
19 ZAR South African Rand U+0052
20 HKD Hong Kong Dollar U+0024
21 UAH Ukrainian Hryvnia U+20B4

Solution Design

N/A

Additional Information

N/A

add a model for setting up a budget for user or fund

Type

  • bug
  • feature
  • refactoring
  • other

Description

Add a Budget model, that will allow users to plan a budget for a day/week/month/annual period.

Solution Design

create two models FundBudget and ProfileBudget

Additional Information

N/A

Integrate UserBudget and FundBudget Models into Django Admin Interface

Type

  • bug
  • feature
  • refactoring
  • other

Title

"Configure Admin Panel to Display UserBudget and FundBudget Models"

Description

There's a need to include the UserBudget and FundBudget models in the Django admin interface. This will allow for easier management and oversight of these two crucial models, improving the overall administration process.

Solution Design

In the 'admin.py' file of the 'finances' application, register the UserBudget and FundBudget models. You will need to import the models at the top of the file and then use the admin.site.register() function to make them visible in the admin panel. Ensure that all the necessary fields are displayed and editable.

Additional Information

Make sure to test

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.