Home

Awesome

Foliage

<p align="center"> <img src="https://raw.githubusercontent.com/AVS1508/foliage/main/lib/assets/images/icon_alpha.png" alt="Foliage" width="160px" height="160px"/> </p>

Foliage is a cryptocurrency wallet mobile application developed in Flutter, deployed to Android and iOS, using Firebase tooling.

Purpose

This app was created with the intent of learning:

Definitions & Usage

Folder Structure

The /lib folder has been compartmentalized into the following sections:

  1. api:
  2. assets:
  3. components:
  4. constants:
  5. utils:
  6. views:

Cloud Firestore Database Structure

{
    "users": {
        "_type": "Collection",
        "$uid1": {
            "_type": "Document",
            "displayName": "User 1",
            "email": "uid1@email.com",
            "cryptocurrencies": {
                "_type": "Collection",
                "$coin1": {
                    "_type": "Document",
                    "amount": "0.1"
                },
                "$coin2": {
                    "_type": "Document",
                    "amount": "1.0"
                },
            },
            "stocks": {
                "_type": "Collection",
                "$stock1": {
                    "_type": "Document",
                    "amount": "0.8"
                },
                "$stock2": {
                    "_type": "Document",
                    "amount": "4.0"
                },
            }
        },
        "$uid2": {
            "_type": "Document",
            "displayName": "User 2",
            "email": "uid2@email.com",
            "cryptocurrencies": {
                "_type": "Collection",
                "$coin1": {
                    "_type": "Document",
                    "amount": "0.1"
                },
                "$coin2": {
                    "_type": "Document",
                    "amount": "1.0"
                },
            },
            "stocks": {
                "_type": "Collection",
                "$stock1": {
                    "_type": "Document",
                    "amount": "0.8"
                },
                "$stock2": {
                    "_type": "Document",
                    "amount": "4.0"
                },
            }
        },
    },
}

Theming

Theming for the project has been configured via lib/utils/theme.dart, and complies with the color palette as follows:

Color NameColor Hex Code
trueWhite#FFFFFF
trueBlack#000000
offWhite#F1F0EA
charadeBlack#272838
foliageGreen#64B746
errorRed#D10000
materialBlue#448AFF
cadetGrey#5D737E

This color palette is used with the following theme configuration:

PropertyLight ModeDark Mode
brightnesslightdark
backgroundoffWhitecharadeBlack
onBackgroundcharadeBlackoffWhite
errorerrorRederrorRed
onErrortrueWhitetrueWhite
primaryfoliageGreenfoliageGreen
onPrimarytrueWhitetrueWhite
secondarymaterialBluematerialBlue
onSecondarytrueWhitetrueWhite
surfacefoliageGreenfoliageGreen
onSurfacetrueWhitetrueWhite