/woobank

šŸ’µ A banking system build with Koa, Relay and graphql.

Primary LanguageTypeScriptMIT LicenseMIT

WooBank šŸ’µ

WooBank is a simple web app that simulates a banking system. With WooBank, you can register, log in, perform transactions between accounts, and view the transaction history and account ledger.

Table of Contents

Features

  • User registration
  • User login
  • Perform transactions between accounts
  • Access transaction history
  • View account ledger and account balance

Installation and Project Setup

Prerequisites

  • Node.js installed
  • Yarn installed

Steps

  1. Install dependencies

    yarn
  2. Start the database

    yarn compose:up
  3. Set up environment variables

    yarn set:env
  4. Generate the GraphQL schema

    yarn schema
  5. Run the Relay compiler

    yarn relay
  6. Start both backend and frontend

    yarn dev

Accessing the Application

Additional Commands

  • Start only the server

    yarn dev:server
  • Start only the web application

    yarn dev:web

Running Tests

  • Run tests with Jest

    yarn test
  • Run component tests with Cypress

    yarn cypress:component
  • Run all tests

    yarn test:all

Starting Storybook

yarn storybook

Application Screenshots

  • Login page: image
  • Registration Page: image
  • Home page: image
  • Account Ledger: image

Deployment

The application is available at: https://woobank-web.vercel.app/

Technologies Used

Frontend

  • React
  • TypeScript
  • Vite
  • Cypress
  • TailwindCSS
  • Chadcn/ui
  • Relay
  • Storybook

Backend

  • TypeScript
  • Relay
  • Koa
  • Jest

License

This project is licensed under the MIT License.


We hope you enjoy using WooBank! If you have any questions or suggestions, feel free to open an issue in the repository.