Skip to content

Commit

Permalink
Merge branch 'main' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
GBergatto authored Dec 16, 2023
2 parents c81fe2b + 247fb39 commit 35ea222
Show file tree
Hide file tree
Showing 61 changed files with 2,361 additions and 517 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/flutter-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Flutter action
uses: subosito/flutter-action@v2
with:
flutter-version: '3.3.0' #'2.18.0'
flutter-version: '3.13.9'
channel: stable
cache: true
cache-key: flutter
Expand Down
54 changes: 12 additions & 42 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Miscellaneous
*.class
*.log
*.lock
*.pyc
*.swp
.DS_Store
Expand All @@ -17,8 +16,10 @@ migrate_working_dir/
*.iws
.idea/

# VSCode related
.vscode/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
Expand All @@ -31,44 +32,13 @@ migrate_working_dir/
.pub/
/build/

# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
# Symbolication related
app.*.symbols

# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*
# Obfuscation related
app.*.map.json

# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
3 changes: 1 addition & 2 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at
# https://dart-lang.github.io/linter/lints/index.html.
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ subprojects {
project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
69 changes: 69 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
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)

## About

**Sossoldi** is a free and open source wealth management / personal finance / Net Worth tracking app, made with Flutter.


<div>
<img src="./assets/sossoldi project cover.jpg" width="1000" alt="Sossoldi icon">
</div>

## ❓ 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

<div align="center">
<img src="./assets/Sossoldi-portfolio-card-image.png" width="500" alt="Sossoldi icon">
</div>

## 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

Binary file added docs/assets/Sossoldi-portfolio-card-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/sossoldi project cover.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions docs/setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Setup Guide

## Step 1: Install Git

Download and install Git from [https://git-scm.com/](https://git-scm.com/).

## Step 2: Install Flutter

1. Download the Flutter SDK from [https://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.

## Step 3: Set Up an IDE

Choose one of the following:

### Using Visual Studio Code:

1. Download and install Visual Studio Code from [https://code.visualstudio.com/](https://code.visualstudio.com/).
2. Install the Flutter and Dart extensions.

### Using IntelliJ IDEA or Android Studio:

1. Download and install IntelliJ IDEA or Android Studio.
2. Install the Flutter and Dart plugins.

## Step 4: Fork the repository

This is very simple, just go to the Sossoldi repository on GitHub and click on the “Fork” on the top right corner. By doing this you will create a copy of the repository on your account and it will allow you to make changes without affecting the main repository.

## (Optional) Download 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.
1 change: 1 addition & 0 deletions ios/Flutter/Debug.xcconfig
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
1 change: 1 addition & 0 deletions ios/Flutter/Release.xcconfig
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
44 changes: 44 additions & 0 deletions ios/Podfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}

def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end

File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
use_frameworks!
use_modular_headers!

flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
target 'RunnerTests' do
inherit! :search_paths
end
end

post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
64 changes: 64 additions & 0 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
PODS:
- Flutter (1.0.0)
- flutter_native_splash (0.0.1):
- Flutter
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- sqflite (0.0.3):
- Flutter
- FMDB (>= 2.7.5)
- sqlite3 (3.44.0):
- sqlite3/common (= 3.44.0)
- sqlite3/common (3.44.0)
- sqlite3/fts5 (3.44.0):
- sqlite3/common
- sqlite3/perf-threadsafe (3.44.0):
- sqlite3/common
- sqlite3/rtree (3.44.0):
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- Flutter
- sqlite3 (~> 3.44.0)
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
- url_launcher_ios (0.0.1):
- Flutter

DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)

SPEC REPOS:
trunk:
- FMDB
- sqlite3

EXTERNAL SOURCES:
Flutter:
:path: Flutter
flutter_native_splash:
:path: ".symlinks/plugins/flutter_native_splash/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
sqlite3_flutter_libs:
:path: ".symlinks/plugins/sqlite3_flutter_libs/ios"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"

SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
sqlite3: 6e2d4a4879854d0ec86b476bf3c3e30870bac273
sqlite3_flutter_libs: eb769059df0356dc52ddda040f09cacc9391a7cf
url_launcher_ios: 68d46cc9766d0c41dbdc884310529557e3cd7a86

PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189

COCOAPODS: 1.12.1
Loading

0 comments on commit 35ea222

Please sign in to comment.