Skip to content

Latest commit

 

History

History
638 lines (416 loc) · 21.5 KB

CHANGELOG.md

File metadata and controls

638 lines (416 loc) · 21.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[1.0.2a] - 2022-03-27

Changed

[1.0.2] - 2022-03-27

One Script Wonder Installation

Fixed

  • .env was missing in the public repository, passwords are exposed anyway so whatever 😵
  • Docker Frontend Container was not bind to address accessible by Backend Container.
  • Missing webpack installations required on a wiped-clean environment in order to run frontend docker container successfully.
  • History module type declaration fix via shell script (injecting type definitions manually, as it seems to be broken).

[1.0.1] - 2022-03-27

Visual Tweaks

Changed

  • Modal Buttons sizing and text coloring.
  • Badge sizes

Fixed

  • Case when result would append if only one Budget was found.

[1.0.0] - 2022-03-27

Pagination Presentation

Added

  • Pagination, user can browse 6 budgets at once - click on a next page fetches new batch.
    • There is room for improvement. I could add the navigations <Pagination.Prev />, <Pagination.Next />, and shrink it a bit with <Pagination.Ellipsis />. I've made it wide enough so that there could be 7 buttons, giving enough room for proper navigation. Django can in the get query return the num_pages to adjust the last number of pagination button, but unfortunatelly, I've got to go do some stuff for Big Data course.
  • /scripts/clean/nodemodules.sh to remove all node_modules directories
  • /scripts/clean/pycache.sh to remove all *.pyc files and __pycache__ directories
  • English localization of the whole page in src/config/translation/en.json

Changed

  • Name of the clean_start.sh to one_script_wonder.sh, so it does not get confused with new cleaning scripts.

[0.11.0] - 2022-03-27

Full Functionality Overview (.gif)

Added

  • Implemented the frontend Budget search bar (debounced w/ useCallback)
  • Implemented backend support for budget filtering via parametrized search string.
    • Handling null-case situation

Changed

Fixed

  • Bug, where only one Budget would appear after refresh, even when user had more Budgets.
  • Bug, where User couldn't remove users from the Budget.

[0.10.0] - 2022-03-27

Screenshot of Glory - All Checks Passed

Added

Changed

  • Updated README.md
  • Removed the login and register from reducers/store, as it was made in hurry by dummy me. New key: credentials.
  • Abstracted out new components: CredentialForm
    • I dislike having any boolean parameters passed anywhere, so I went with polymorphism.
  • Tweaked the Mega Linter for Python and resolved issues

Fixed

  • All the Linter errors and warnings

[0.9.2] - 2022-03-26

Added

  • API Call Tests for ViewSets on backend
  • Introduced Mega-Linter Github Pipeline for Backend

Changed

  • Automatically Linted w/ Mega-Linter what could've been automatically linted

Fixed

  • Some of the response codes on backend

[0.9.1] - 2022-03-26

File Structure Explanation

Added

  • Created project information content in README.md

[0.9.0] - 2022-03-26

Added

  • README.md - Considerations: Views vs ViewSets

Change

  • Backend Structure Design Update

[0.8.0] - 2022-03-26

Frontend Functionality

Added

  • Manging Users Functionality ([frontend](../frontend/src/pages/logged/budget-container/container-panes/pane-transaction/transaction-header/header-manage-users/ and backend)
    • New endpoint: /api/rest/budget/users/ (post)
    • New endpoint: /api/rest/users/all/ (get)

Fixed

  • No longer trying to log out response which was not parsed

[0.7.2] - 2022-03-26

Changed

  • Refactored the factory value as internal constants of classes where it does not require to change.

Fixed

  • Now whole Add new Budget! tab is clickable to perform the action.
    • Previously: Just the text was opening a modal.

[0.7.1] - 2022-03-26

Fixed

  • Handling situation when a new budget is added by user who has no budgets added yet.
  • Handling situation when a new transaction is added by user who has no transactions added yet.

[0.7.0] - 2022-03-26

Added

  • API Call for Income.

Removed

  • Removed the transactions app on Backend
    • This package was unnecessary and tightly coupled with budgets which is just a bad design. Transactions (income, expense) don't exist out of Budget context, thus I collapsed the hierarchy into one module to increase cohesion.

[0.6.3a] - 2022-03-26

Changed

  • Backend Imports Sorted
  • Backend Files Formatted

[0.6.3] - 2022-03-26

Added

  • Support for Income Addition on Backend

Changed

  • Abstracted the AddExpenseTransaction to AddTransaction.

[0.6.2] - 2022-03-26

Added

  • id to Budget, Expense and Income serializers
  • Adding Expenses to Database for given Budgets
  • Displaying Expense Transaction on frontend

[0.6.1] - 2022-03-26

Added

Note

Lost tiny bit of sanity on the defaultChecked property, lol.

[0.6.0] - 2022-03-26

Added

[0.6.0-alpha] - 2022-03-25

Added

  • In-progress: Creating Request Handlers

Changed

  • Refactorizations on backend:
    • Created new directories requests and responses

Fixed

  • Hiding Modal after user finishes adding a new budget.

[0.5.0] - 2022-03-25

Frontend Structure & Naming Refactorization

Added

  • Support in tsconfig.json and webpack.config.js for absolute imports.

Changed

  • Refactorization:
    • Commonized Register and Login forms
    • Removed components in all directories that are not leafs in the tree hierarchy (left only in the very last sub-modules)
    • Tweaked imports, preferring the absolute in majority of them. Relative imports are separated by \n
    • Commonized model related forms with new reusable common/modal-form Modal-Form component.

[0.4.6] - 2022-03-25

Added

  • Prepared Display of Transaction Items

[0.4.5] - 2022-03-25

Added

  • Displaying the Budgets on frontend UI
  • Handling situation when a new Budget is added to currently existing BudgetList (appending to current state in redux)

Note

I was fighting for a long time with unexpected behaviour, and as it turns out, the quick rename betrayed me and the logic flew to different condition block, thus making me a fool 🤡.

[0.4.4] - 2022-03-25

Added

  • Getting All User Budgets (dispatched via redux store)
    • New endpoint: /rest/api/budget/all (get)

[0.4.3] - 2022-03-25

Added

  • Filtering & Display for Budget in Django Admin View
  • Adding new Budget via API Call (integrated)
    • New endpoint: /rest/api/budget/ (post)

To-do

  • Handle new budget API call response on frontend.

[0.4.2] - 2022-03-25

Added

  • README.md Considerations (Security, Querying)
  • New Dependency (backend): Rich for better logging

Changed

  • Changed the backend configuration (tty: true in docker-compose and -e TERM=term-256color analog in Dockerfile) for colorized output.

Note

Still no tests & CI pipelines 🤡

[0.4.1] - 2022-03-25

Added

  • Budget Modal Form

[0.4.0] - 2022-03-25

Changed

  • Tidied up the Reducers/Creators
  • Tidied up API Handling
  • Finished handling logged state via redux (with authorization checks on refresh)
    • Created new djangoapp: auth and moved there the RegistrationSerializer and Login/Register views.
    • New endpoint: check-auth

[0.4.0-alpha] - 2022-03-24

Added

  • Token Authorization System
  • Persistency via storing token in localStorage
  • Login (back/front) and Register (back/front) - API communication
  • Password encryption via salted unsafe (!) sha256 algorithm on both frontend and backend

[0.3.5] - 2022-03-24

Added

[0.3.4] - 2022-03-24

Added

  • Password Hashing
  • Password Verification API Call

[0.3.3] - 2022-03-24

Added

  • Handling Form Submit on Frontend

[0.3.2] - 2022-03-24

Added

  • Routing (Router.tsx)
    • Budgets View for /budgets
    • Landing page for any other URL

Fixed

  • Source Map warnings

[0.3.1] - 2022-03-24

Changed

[0.3.0] - 2022-03-23

Logged In Page (frontend)

Added

  • Frontpage Skeleton:
    • Side Tabs (Paginated) for various Budgets
      • Search Bar for Budgets
      • Add New Budget Button
        • Opens up a Modal
    • Main Panels
      • Openable via the Side Tabs
      • Contains a Table with structure: | # | Type | Amount | User | |---|---------|--------|---------| | 1 | Expense | 500 | Marcel | | 2 | Income | 400 | Justyna | | 3 | Expense | 900 | Marcin |

[0.2.2] - 2022-03-23

Added

  • Register Form on Landing Page

[0.2.1] - 2022-03-23

Login Form (frontend)

Added

[0.2.0] - 2022-03-23

Landing Page (frontend)

Added

  • Landing Page Background Stylizations
  • Successfully Connected Frontend/Backend via Example API Call

Fixed

  • Lack of type support for history (added @types/history to DevDependencies)

[0.1.1] - 2022-03-23

Added

  • Created database models
    • User
    • Budget
    • Expense (type of Transaction)
    • Income (type of Transaction)
    • Transaction
  • Created Simple UML Model, though draw.io, available here Database Diagram

[0.1.0] - 2022-03-23

Frontend Dependencies & Packages.

Connected Frontend & Backend via webpack_loader.

Added

  • React
  • Bootstrap
  • Redux
  • Lodash
  • Axios/Cookie
  • Prepared ./frontend/sass directory:
    • /sass/global/ for globally used styling
    • /sass/components/ for common components
    • /sass/pages/ for specific pages
    • /sass/vendor/ for bootstrap

[0.0.0] - 2022-03-23

Project was initialized.

  • Structure:
  • Pipelines:
    • I know I should implement them right away and have all of that sort of things already done, but I really want to start some dev coding 🐈
    • ... still got to setup frontend-backend, so I'll prioritize that at this moment.