Skip to content

SmartSpend is an innovative financial management project designed to help track expenses, manage budgets, and make informed financial decisions. The project aims to simplify the financial management process by providing users with a user-friendly interface for managing their finance.

Notifications You must be signed in to change notification settings

teslmik/bsa-winter-2022-2023-smartspend

 
 

Repository files navigation

SmartSpend

ℹ️ General Info

This is the repository responsible for SmartSpend's apps.

🏭 Applications

  • Backend — SmartSpend's application backend.

    To work properly, fill in the .env file. Use the .env.example file as an example.

  • Frontend — SmartSpend's application frontend.

    To work properly, fill in the .env file. Use the .env.example file as an example.

  • Shared — SmartSpend's application common modules for reuse.

🖍 Requirements

  • NodeJS (18.x.x);
  • NPM (9.x.x);
  • PostgreSQL (15.2)
  • run npx simple-git-hooks at the root of the project, before the start (it will set the pre-commit hook for any commits).

🏃‍♂️ Simple Start

  1. npm install at the root
  2. Fill ENVs
  3. npx simple-git-hooks at the root
  4. cd backend && npm run migrate:dev then npm run start:dev
  5. cd frontend && npm run start:dev
  6. Enjoy ❤️

🏗 Architecture

🛖 Application Schema

TBA

💽 DB Schema

TBA

🌑 Backend

🌕 Frontend

🥊 Code quality

  • simple-git-hooks — a tool that lets you easily manage git hooks.
  • lint-staged — run linters on git staged files.
  • dangerjs — automate common code review chores.
  • commitlint — helps your team adhere to a commit convention.
  • editorconfig — helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.
  • prettier — an opinionated code formatter.
  • ls-lint — file and directory name linter.
  • eslint — find problems in your JS code.
  • stylelint — find and fix problems in your CSS code.

🧑‍💻 CI

🗞 Git

🏅 Pull Request flow

<project-prefix>-<issue-number>: <ticket-title>
Example
  • ss-5: Add Clinician Dashboard

🌳 Branch flow

<type>/<project-prefix>-<issue-number>-<short-desc>
Types
  • task
  • fix
Examples
  • task/ss-5-add-clinician-dashboard
  • task/ss-12-add-clinician-flow
  • fix/ss-16-fix-clinician-flow

🗂 Commit flow

<project-prefix>-<issue-number>: <modifier> <description>
Modifiers
  • + (add)
  • * (edit)
  • - (remove)
Examples
  • ss-5: + title for dashboard
  • ss-12: * dashboard title
  • ss-16: - dashboard title

📦 CD

Handled by GitHub Actions.

About

SmartSpend is an innovative financial management project designed to help track expenses, manage budgets, and make informed financial decisions. The project aims to simplify the financial management process by providing users with a user-friendly interface for managing their finance.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 86.4%
  • SCSS 13.1%
  • Other 0.5%