From 366238ecbd4800381d41f73ac5b336da690fc42a Mon Sep 17 00:00:00 2001 From: Marco Perugini Date: Mon, 5 Feb 2024 20:27:42 +0100 Subject: [PATCH] New documentation site + missing pages (#145) - New theme - Coding style page - Roadmap page - Typo fixes --- .github/workflows/pages.yml | 71 ++++++++++++++++++ docs/Gemfile | 7 ++ docs/Gemfile.lock | 85 ++++++++++++++++++++++ docs/README.md | 72 ------------------ docs/_config.yml | 8 ++ docs/{ => contributing}/PR-guide.md | 21 ++++-- docs/contributing/coding-style.md | 62 ++++++++++++++++ docs/contributing/widget-list.md | 28 +++++++ docs/doc-guide.md | 16 ++-- docs/index.md | 70 ++++++++++++++++++ docs/roadmap.md | 82 +++++++++++++++++++++ docs/{ => setup}/setup-linux-evironment.md | 9 ++- docs/{ => setup}/setup.md | 12 ++- 13 files changed, 456 insertions(+), 87 deletions(-) create mode 100644 .github/workflows/pages.yml create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock delete mode 100644 docs/README.md create mode 100644 docs/_config.yml rename docs/{ => contributing}/PR-guide.md (81%) create mode 100644 docs/contributing/coding-style.md create mode 100644 docs/contributing/widget-list.md create mode 100644 docs/index.md create mode 100644 docs/roadmap.md rename docs/{ => setup}/setup-linux-evironment.md (98%) rename docs/{ => setup}/setup.md (94%) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 0000000..6818003 --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,71 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Docs to Pages + +on: + push: + branches: + - "main" + paths: + - "docs/**" + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + # Build job + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: docs + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.1' # Not needed with a .ruby-version file + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + cache-version: 0 # Increment this number if you need to re-download cached gems + working-directory: '${{ github.workspace }}/docs' + - name: Setup Pages + id: pages + uses: actions/configure-pages@v3 + - name: Build with Jekyll + # Outputs to the './_site' directory by default + run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production + - name: Upload artifact + # Automatically uploads an artifact from the './_site' directory by default + uses: actions/upload-pages-artifact@v1 + with: + path: "docs/_site/" + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 0000000..3aec09b --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,7 @@ +source 'https://rubygems.org' + +gem "jekyll", "~> 4.3.3" # installed by `gem jekyll` +# gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2 + +gem "just-the-docs", "0.7.0" # pinned to the current release +# gem "just-the-docs" # always download the latest release diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 0000000..5912780 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,85 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + colorator (1.1.0) + concurrent-ruby (1.2.2) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.16.3) + forwardable-extended (2.6.0) + google-protobuf (3.25.1-arm64-darwin) + google-protobuf (3.25.1-x86_64-linux) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (4.3.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + just-the-docs (0.7.0) + jekyll (>= 3.8.5) + jekyll-include-cache + jekyll-seo-tag (>= 2.0) + rake (>= 12.3.1) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.0.4) + rake (13.0.6) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (4.2.0) + safe_yaml (1.0.5) + sass-embedded (1.69.5-arm64-darwin) + google-protobuf (~> 3.23) + sass-embedded (1.69.5-x86_64-linux-gnu) + google-protobuf (~> 3.23) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.5.0) + webrick (1.8.1) + +PLATFORMS + arm64-darwin-23 + x86_64-linux + +DEPENDENCIES + jekyll (~> 4.3.3) + just-the-docs (= 0.7.0) + +BUNDLED WITH + 2.3.26 diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index a371189..0000000 --- a/docs/README.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -permalink: / ---- -# **Documentation** -> Making an open source wealth management app for everyone. - -## Useful links - -- [Github Repo](https://github.com/RIP-Comm/sossoldi) -- [Discord](http://mr.rip/discord) -- [Design file](https://www.figma.com/file/6NyY9yqunpbU7HIkbNEAL3/Sossoldi-App?node-id=0%3A1) -- [UX Research](https://www.federicopozzato.it/portfolio/sossoldi-personal-finance-app) -- [Information architecture](https://www.figma.com/file/xjVHAaHznRW1OFAJvp8DXn/Sossoldi-App---Figjam?node-id=0%3A1) -- [Interface study](https://www.notion.so/Sossoldi-Personal-finance-app-dd37eb9cbb2c44e59dd74f85e843e865) -- [Set up guide](setup.md) -- [Linux set up guide detailed](setup-linux-evironment.md) -- [GitHub for beginners](PR-guide.md) -- [Contributing to the documentation](doc-guide.md) - -## About - -**Sossoldi** is a free and open source wealth management / personal finance / Net Worth tracking app, made with Flutter. - - -
- Sossoldi icon -
- -## ❓ What problem we are solving & why - -[Mr. Rip](https://retireinprogress.com/) is a blogger that has a [spreadsheet](https://docs.google.com/spreadsheets/d/1ilL6rBdzIQ6yRotqOKLUKI7KXFxu5_cZ5FQgdYTSHJk/edit#gid=138629885) in which he tracks his net worth. Sossoldi is a Mobile + Desktop app that aims at replacing that spreadsheet and make it easier for everyone to track their net worth even if they are not as skilled with Google sheets or Excel. - -The app is being developed using the [Flutter](https://docs.flutter.dev/get-started/install) framework which makes it possible to have one codebase for different platforms (Android, iOS, Windows, macOS, Linux). We are currently working on a beta which hopefully will be out soon. - -## This app is for you if you want to... - -- πŸ“ˆ Track their net worth -- πŸ’Έ Track your expenses to better understand where they are spending their money -- πŸ‘€ Keep track of your investments -- πŸͺ¦ Keep everything in one place like Mr. Rip - -What features do we want to implement? -- πŸ’Έ Track expenses (even recurrent ones) -- 🏦 Track different bank accounts -- πŸ“Š Graphs, statistics and reports -- πŸ’» All data are stored locally (with the option to share it in different platforms) -- πŸ‘€ Track investments: Stocks, Bonds, Crypto, Private equity -- πŸ’Ά Track taxes -- πŸ’΄ Net worth on different currencies -- ↔️ Import/export data -- πŸ”— Link bank accounts that support the OpenBanking PSD2 API -- πŸ€“ Advanced onboarding - -
-Sossoldi icon -
- -## Phase 1 (Ongoing) -We will not build the complete app all at once. We will start from the basic features and then we will move onto the others. -Phase 1 will be completed when the following features will be ready: -- πŸ’Έ Expenses (even recurrent ones) tracker -- πŸ€‘ Income tracker -- βš–οΈ Bank accounts balance (without the use of API) -- πŸ“Š Basic stats -- πŸ“± Data stored only locally - -The pages that will be implemented are: -- Dashboard -- Movements page -- Basic settings -- Basic onboarding - diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..facc220 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,8 @@ +title: Sossoldi +description: Making an open source wealth management app for everyone. +theme: just-the-docs + +url: https://github.com/RIP-Comm/sossoldi + +aux_links: + View it on GitHub: https://github.com/RIP-Comm/sossoldi \ No newline at end of file diff --git a/docs/PR-guide.md b/docs/contributing/PR-guide.md similarity index 81% rename from docs/PR-guide.md rename to docs/contributing/PR-guide.md index caf2d03..44fadd6 100644 --- a/docs/PR-guide.md +++ b/docs/contributing/PR-guide.md @@ -1,18 +1,25 @@ +--- +title: How to contribute to the project +layout: default +nav_order: 3 +has_children: true +--- # GitHub for beginners So you want to partecipate in our project but you don't know how? Don't worry, this guide is here for you. -In the next steps we will assume that you already completed the environment setup. If you haven't, make sure to follow *the first 3 steps* of [this guide](setup.md) first. +In the next steps we will assume that you already completed the environment setup. If you haven't, make sure to follow *the first 3 steps* of [this guide](../setup/setup.html) first. ## Step 1: Download GitHub Desktop -This is pretty straightforward, go to this [link](https://desktop.github.com/) and download GitHub Desktop. With this it will be easier to manage and submit the changes that you will do. +This is pretty straightforward, go to this [link](https://desktop.github.com/) and download GitHub Desktop. With this it will be easier to manage and submit the changes that you will do. After the download, set up your account. ## Step 2: Clone the repository + Now comeback to your repository on GitHub and click on Code -> Open with GitHub Desktop
- Sossoldi icon + Sossoldi icon
This will open GitHub Desktop and it should ask you to add the path in which you want to save the folder with the project. Then click on clone. @@ -27,7 +34,7 @@ When you are done, come back to GitHub Desktop and it should show the changes th **NOTE:** most of the times you will see a lot changes here but you should select ONLY the files that you changed and are needed for the feature that you have implemented. You should also remove all the ones edited/created by your IDE.
- Sossoldi icon + Sossoldi icon
## Step 5: Push your changes @@ -36,14 +43,14 @@ On the top right now you should see the option to push your changes, after that ## Step 6: Create the pull request -Congrats this is the last step! Now go back to the [main repository](https://github.com/RIP-Comm/sossoldi/pulls) and create a new pull request by clicking on the top right. +Congrats this is the last step! Now go back to the [main repository](https://github.com/RIP-Comm/sossoldi/pulls) and create a new pull request by clicking on the top right.
- Sossoldi icon + Sossoldi icon
Tap on β€œcompare across forks” and then select your repository. -After that tap on β€œCreate pull request” and write a title and a description for it. +After that tap on β€œCreate pull request” and write a title and a description for it. Congratulations now you are ready to submit it! Thank you for taking your time in helping our project! diff --git a/docs/contributing/coding-style.md b/docs/contributing/coding-style.md new file mode 100644 index 0000000..bc039a4 --- /dev/null +++ b/docs/contributing/coding-style.md @@ -0,0 +1,62 @@ +--- +title: Coding style +layout: default +nav_order: 3 +parent: How to contribute to the project +--- + +# Coding style + +If you want to help out with the project you should keep in mind the following guidelines. + +## Formatting + +- Follow the official Dart Style Guide for code formatting. +- Use consistent indentation. +- Limit line length to 80 characters. + +## Imports + +Import packages using the following format: +```bash +import 'package:flutter_riverpod/flutter_riverpod.dart'; +``` +Use relative imports for local files: +```bash +import '../../../providers/accounts_provider.dart'; +``` + +## Break down pages into separate widgets + +In order to improve readability of our code we should break down each page into separate widgets stored in separate files, with each of them representing a section of the page. +Each page should be wrapped in a folder with the same name containing a widgets subfolder that stores custom widgets extracted from that page. +```bash +Example: +β”œβ”€β”€ transactions_page.dart +└── widgets + β”œβ”€β”€ accounts_tab.dart + β”œβ”€β”€ categories_tab.dart + β”œβ”€β”€ custom_sliver_delegate.dart + β”œβ”€β”€ list_tab.dart + └── month_selector.dart +``` +The widgets subfolder should contain widgets that are specific to a particular page, whereas the ones that are shared across multiple pages should go in /lib/custom_widgets. + +## Use trailing comma + +Flutter code often involves building fairly deep tree-shaped data structures, for example in a build method. To get good automatic formatting, we recommend you adopt the optional trailing commas. The guideline for adding a trailing comma is simple: Always add a trailing comma at the end of a parameter list in functions, methods, and constructors where you care about keeping the formatting you crafted. This helps the automatic formatter to insert an appropriate amount of line breaks for Flutter-style code. +See here. + +## Avoid Copy/Paste: + +Do not copy and paste code blocks without proper understanding. Instead of duplicating code, consider creating a shared function or method and if you do so add a line in the [Reusable Widget List](widget-list.html). + +## File Structure: + +Organize files in a clear and consistent folder structure. Group related files together, such as placing all providers in a 'providers' folder. + +## Naming Conventions: + +Follow camelCase for variable and function names. Use clear and descriptive names for variables, functions, and classes. + +By following these coding styles, you will help ensure consistency, readability, and maintainability of codebase in the project. \ No newline at end of file diff --git a/docs/contributing/widget-list.md b/docs/contributing/widget-list.md new file mode 100644 index 0000000..22ed8ff --- /dev/null +++ b/docs/contributing/widget-list.md @@ -0,0 +1,28 @@ +--- +title: Widget list +layout: default +nav_order: 4 +parent: How to contribute to the project +--- + +# Resuable widget list + +The following is a list of all the custom widgets that we are currently using in our project. Before implementing something from zero you should check if there is a widget already available here. +If you create a new widget make sure to also update the list here so that everyone can use it in the future. + +- account_modal +- accounts_sum +- alert_dialog +- budget_circular_indicator +- default_card +- default_container +- line_chart +- transaction_list +- recurrence_selector.dart +- type_tab +- recurrence_list_tile +- label_list_tile +- details_list_tile +- category_selector +- amount_section +- account_selector \ No newline at end of file diff --git a/docs/doc-guide.md b/docs/doc-guide.md index fcee554..c814b5a 100644 --- a/docs/doc-guide.md +++ b/docs/doc-guide.md @@ -1,12 +1,18 @@ +--- +title: How to contribute to the documentation +layout: default +nav_order: 5 +--- # How to contribute to the documentation -For our documentation we use GitHub Pages and this allows us to have a static page with all the info about the repo. This is very useful for use because it makes the docs easy to read and mantain by just using .md files that will then be converted to HTML. +For our documentation we use GitHub Pages and this allows us to have a static page with all the info about the repo. This is very useful for use because it makes the docs easy to read and mantain by just using .md files that will then be converted to HTML. If you want you can read more about GitHub Pages in the [official documentation](https://pages.github.com/), you can also read more about markdown files [here](https://www.markdownguide.org/getting-started/). -In the next steps we will assume that you already completed the setup. If you haven't, make sure to follow [this guide](setup.md) first. +In the next steps we will assume that you already completed the setup. If you haven't, make sure to follow [this guide](setup/setup.html) first. ## Step 1: Enable GitHub Pages inside your fork GitHub already offers a great guide on how to do this but basically what you need to do is: + 1. Go inside the your repository and select settings
@@ -24,14 +30,14 @@ GitHub already offers a great guide on how to do this but basically what you nee ## Step 2: Make the changes in your repository -Now that you have enabled the GitHub page you can start making changes and it's pretty straightforward. You can just make changes to the markdown files inside the *docs* folder or create new ones if are needed. +Now that you have enabled the GitHub page you can start making changes and it's pretty straightforward. You can just make changes to the markdown files inside the *docs* folder or create new ones if are needed. If you are making a new page make sure that it is linked to another so that the viewers will be able to reach it. Linking the markdown files it's pretty simple and you can find a lot of examples in our repo (you can also read more [here](https://www.codecademy.com/resources/docs/markdown/links)). Once you've finished making all the changes you can create a commit to your fork and in a few seconds the page should update with all the changes. At this point you should verify that everything looks great and that there are no issue reaching the page. ## Step 3: Create a PR -If everything went to plan now you should be able to create a PR explaining the changes that you made, in order to facilitate the review process make sure to explain what you have done and add useful screenshots (if you prefer you can just share the link *{your-username}.github.io/sossoldi/*). +If everything went to plan now you should be able to create a PR explaining the changes that you made, in order to facilitate the review process make sure to explain what you have done and add useful screenshots (if you prefer you can just share the link *{your-username}.github.io/sossoldi/*). After the review process your PR will be merged and your changes should be online! -*Don't know how to open a PR? Don't worry, you can read the [guide](PR-guide.md)* +*Don't know how to open a PR? Don't worry, you can read the [guide](contributing/PR-guide.html)* diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..aa23d9f --- /dev/null +++ b/docs/index.md @@ -0,0 +1,70 @@ +--- +title: Home +layout: home +nav_order: 1 +--- + +**[Sossoldi](https://github.com/RIP-Comm/sossoldi)** is a free and open source wealth management / personal finance / Net Worth tracking app, made with Flutter. + +
+ Sossoldi icon +
+ +## ❓ What problem we are solving & why + +[Mr. Rip](https://retireinprogress.com/) is a blogger that has a [spreadsheet](https://docs.google.com/spreadsheets/d/1ilL6rBdzIQ6yRotqOKLUKI7KXFxu5_cZ5FQgdYTSHJk/edit#gid=138629885) in which he tracks his net worth. Sossoldi is a Mobile + Desktop app that aims at replacing that spreadsheet and make it easier for everyone to track their net worth even if they are not as skilled with Google sheets or Excel. + +The app is being developed using the [Flutter](https://docs.flutter.dev/get-started/install) framework which makes it possible to have one codebase for different platforms (Android, iOS, Windows, macOS, Linux). We are currently working on a beta which hopefully will be out soon. + +## This app is for you if you want to... + +- πŸ“ˆ Track their net worth +- πŸ’Έ Track your expenses to better understand where they are spending their money +- πŸ‘€ Keep track of your investments +- πŸͺ¦ Keep everything in one place like Mr. Rip + +What features do we want to implement? + +- πŸ’Έ Track expenses (even recurrent ones) +- 🏦 Track different bank accounts +- πŸ“Š Graphs, statistics and reports +- πŸ’» All data are stored locally (with the option to share it in different platforms) +- πŸ‘€ Track investments: Stocks, Bonds, Crypto, Private equity +- πŸ’Ά Track taxes +- πŸ’΄ Net worth on different currencies +- ↔️ Import/export data +- πŸ”— Link bank accounts that support the OpenBanking PSD2 API +- πŸ€“ Advanced onboarding + +
+Sossoldi icon +
+ +## Useful links + +Here is a list of useful links if you want to contribute to the project: + +- [Github Repo](https://github.com/RIP-Comm/sossoldi) +- [Discord](http://mr.rip/discord) +- [Design file](https://www.figma.com/file/6NyY9yqunpbU7HIkbNEAL3/Sossoldi-App?node-id=0%3A1) +- [UX Research](https://www.federicopozzato.it/portfolio/sossoldi-personal-finance-app) +- [Information architecture](https://www.figma.com/file/xjVHAaHznRW1OFAJvp8DXn/Sossoldi-App---Figjam?node-id=0%3A1) +- [Interface study](https://www.notion.so/Sossoldi-Personal-finance-app-dd37eb9cbb2c44e59dd74f85e843e865) + +## Phase 1 (Ongoing) + +We will not build the complete app all at once. We will start from the basic features and then we will move onto the others. +Phase 1 will be completed when the following features will be ready: + +- πŸ’Έ Expenses (even recurrent ones) tracker +- πŸ€‘ Income tracker +- βš–οΈ Bank accounts balance (without the use of API) +- πŸ“Š Basic stats +- πŸ“± Data stored only locally + +The pages that will be implemented are: + +- Dashboard +- Movements page +- Basic settings +- Basic onboarding diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 0000000..35bc87f --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,82 @@ +--- +title: Roadmap +layout: default +nav_order: 2 +--- + +# Roadmap + +Sossoldi is an open-source project driven by a singular ambition – **to empower individuals in making deliberate financial choices**. Unlike conventional tools, this project currently operates without dates, reflecting its early-stage development as a dynamic open-source endeavor. It is designed as a mobile-first application, allowing users to easily track their net worth anywhere without the need for a PC. + +## Phase 1: Income/Expense Tracking + Budgeting (Beta) + +**Objective:** Build a robust foundation for users to track their income, expenses, and create basic budgets. + +### 1. User Interface (UI) Design and Wireframing + +- Design a clean and user-friendly interface for easy navigation. +- Create wireframes for essential screens such as dashboard, income/expense tracking, budgeting and add transaction +- Use graphs and data to make it easier for a user to understand how they are doing with their financials + +### 2. Implement expense tracking with customizable categories. + +- Allow users to input one-time and recurring expenses. +- Enable the user to create custom categories or subcategories + +### 3. Budgeting + +- Introduce basic budgeting features to help users set spending limits. +- Provide notifications/alerts when users approach or exceed budget limits. + +### 4. User Feedback and Iteration + +- Launch a beta version for limited user testing. +- Gather user feedback and make necessary improvements. + +## Phase 2: Feature Refinement, Import/Export Data and Google Sheets Integration (First Stable Version) + +**Objective:** Enhance the app's functionality and make it more versatile for users. + +### 1. Feature Refinement + +- Refine existing features based on user feedback. +- Optimize performance if necessary and address any bugs or glitches. + +### 2. Import/Export Data + +- Allow users to import historical financial data from other sources. +- Enable export functionality to share or backup their data. + +### 3. Google Sheets Integration + +- Integrate with Google Sheets to provide users with a more in-depth environment for financial planning. +- Develop a free template for users to import their data into Google Sheets seamlessly. + +## Phase 3: Investments Tracking (Stocks, ETFs, Bonds, Crypto, Real Estate) + Cloud Backup (Optional) + +**Objective:** Expand the app's scope to include investment tracking and provide optional cloud backup. + +### 1. Investments Tracking + +- Integrate features for users to track various investments, including stocks, ETFs, bonds, cryptocurrencies, and real estate. +- Provide real-time market data updates for investment portfolios. + +### 2. Cloud Backup (Opt-in) + +- Implement optional cloud backup functionality for user data. + +## Phase 4: Open Banking API Integration + +**Objective:** Enable automatic tracking of financial movements by integrating with Open Banking APIs. + +### 1. Open Banking API Integration + +- Partner with the necessary entities to integrate Open Banking APIs. +- Allow users to link their accounts for automatic income and expense tracking. + +### 2. Financial litteracy + +- Integrate tooltips and guides within the app for users unfamiliar with investment terms. +- Create a list of good resources for the users that want to learn more about personal finance. + +By following this roadmap, Sossoldi will evolve from a basic income/expense tracker to a comprehensive financial management tool, offering users a complete view of their finances. \ No newline at end of file diff --git a/docs/setup-linux-evironment.md b/docs/setup/setup-linux-evironment.md similarity index 98% rename from docs/setup-linux-evironment.md rename to docs/setup/setup-linux-evironment.md index 32f6848..09440dc 100644 --- a/docs/setup-linux-evironment.md +++ b/docs/setup/setup-linux-evironment.md @@ -1,3 +1,10 @@ +--- +title: Linux Setup Guide +layout: default +nav_order: 4 +parent: Setup Guide +--- + # Linux Dev Environment Configuration The instructions below provide guidance on configuring the development environment for a Flutter application @@ -223,7 +230,7 @@ flutter config --android-sdk /path/of/installation/Android/Sdk 4. Go to **SDK Tools**. 5. Check the box for **Android SDK Command-line Tools (latest)**. -![Screenshot_Intellij_cmdline-tools.png](assets/Screenshot_Intellij_cmdline-tools.png) +![Screenshot_Intellij_cmdline-tools.png](../assets/Screenshot_Intellij_cmdline-tools.png) ## STEP 7: Accept licence diff --git a/docs/setup.md b/docs/setup/setup.md similarity index 94% rename from docs/setup.md rename to docs/setup/setup.md index 4fe91f0..f7c56e1 100644 --- a/docs/setup.md +++ b/docs/setup/setup.md @@ -1,3 +1,9 @@ +--- +title: Setup Guide +layout: default +nav_order: 4 +has_children: true +--- # Setup Guide ## Step 1: Install Git @@ -7,6 +13,7 @@ Download and install Git from [https://git-scm.com/](https://git-scm.com/). ## Step 2: Install Flutter Installing flutter is slightly different between Windows, MacOS and Linux. Flutter already has a good step-by-step that you can find [here](https://docs.flutter.dev/get-started/install) + 1. Download the Flutter SDK from [flutter.dev/docs/get-started/install](https://flutter.dev/docs/get-started/install). 2. Extract the downloaded archive to a location on your machine. 3. Add the Flutter `bin` directory to your system's `PATH` variable. @@ -31,7 +38,8 @@ This is very simple, just go to the Sossoldi repository on GitHub and click on t ## (Optional) Download GitHub Desktop -If you are unfamiliar with Git you might want to use GitHub Desktop. +If you are unfamiliar with Git you might want to use GitHub Desktop. + 1. Go to this link and download GitHub Desktop. With this it will be easier to manage and submit the changes that you will do. After the download, set up your account. 2. Now comeback to your repository on GitHub and click on Code -> Open with GitHub Desktop -3. This will open GitHub Desktop and it should ask you to add the path in which you want to save the folder with the project. Then click on clone. \ No newline at end of file +3. This will open GitHub Desktop and it should ask you to add the path in which you want to save the folder with the project. Then click on clone.