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.
-
-
-
@@ -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.
+
+
+
+
+
+## β 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
+
+
+
+
+
+## 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.