Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
2f63ff3
Add bank account transaction integration
alexanderwassbjer Oct 24, 2024
11b877e
Fixup indent
alexanderwassbjer Oct 26, 2024
37a3235
Correct types
alexanderwassbjer Oct 26, 2024
f920861
Refactor some new code
alexanderwassbjer Oct 26, 2024
5bfae3a
Add missing env in docker compose file
alexanderwassbjer Oct 26, 2024
a1caeed
Remove duplicates of docker files
alexanderwassbjer Oct 27, 2024
25fc9fa
Update env to not use NEXT_PUBLIC
alexanderwassbjer Oct 27, 2024
88133e9
Revert the country code in getInstitutions
alexanderwassbjer Oct 27, 2024
b1c45b1
Refactor a on transaction row click function
alexanderwassbjer Oct 27, 2024
269e169
Remove unused imports/consts to make lint happy
alexanderwassbjer Oct 27, 2024
be23003
Fixed some comments from Fredrik
alexanderwassbjer Oct 27, 2024
2c5fb1f
Revert theme support
alexanderwassbjer Oct 27, 2024
45d23ba
Fix bug with floating numbers on exact split calculator
alexanderwassbjer Oct 27, 2024
12cb87d
Merge pull request #1 from alexanderwassbjer/bugfix/floating-numbers
alexanderwassbjer Oct 29, 2024
0bccdc8
Add verified transaction label
alexanderwassbjer Oct 29, 2024
421b40e
Merge branch 'main' of github.com:alexanderwassbjer/split-pro
alexanderwassbjer Oct 29, 2024
17d6fa1
Fixup linebreak in transactions list
alexanderwassbjer Oct 29, 2024
d1aeb41
Order by expense created date in the groups list
alexanderwassbjer Oct 29, 2024
0e9a540
Redirect to groupexpense or expense in activity list based on groupId
alexanderwassbjer Oct 29, 2024
c00ec9d
Fixup transaction row
alexanderwassbjer Oct 29, 2024
62b71f1
Make the checkbox bigger on mobile
alexanderwassbjer Oct 30, 2024
b25422e
Make expenses lines thicker
alexanderwassbjer Oct 30, 2024
74d1bb5
Merge pull request #2 from alexanderwassbjer/feature/order-by-expense…
alexanderwassbjer Oct 31, 2024
8ba44a9
Merge branch 'main' into feature/redirect-expense-page-activity-list-…
alexanderwassbjer Oct 31, 2024
b70c2e7
Merge pull request #3 from alexanderwassbjer/feature/redirect-expense…
alexanderwassbjer Oct 31, 2024
f860add
Fixup
alexanderwassbjer Nov 1, 2024
5b28495
Add isloading to submit all on bank transaction to prevent adding mul…
alexanderwassbjer Aug 8, 2025
bc18bff
Fix
alexanderwassbjer Aug 8, 2025
b373a91
Merge remote-tracking branch 'oss-apps/main'
alexanderwassbjer Aug 8, 2025
8bd0abb
Make changes so it works with new versions of splitpro
alexanderwassbjer Aug 8, 2025
ddb21f6
Merge branch 'main' of github.com:oss-apps/split-pro
alexanderwassbjer Aug 26, 2025
2ca9ed7
Add missing translations
alexanderwassbjer Aug 26, 2025
4e52d2e
Update to new code
alexanderwassbjer Aug 27, 2025
d146267
Add missing translations
alexanderwassbjer Aug 27, 2025
a407a69
Merge branch 'main' of github.com:oss-apps/split-pro
alexanderwassbjer Aug 27, 2025
98929c4
Fix lint
alexanderwassbjer Aug 27, 2025
7711c43
Change translations
alexanderwassbjer Aug 27, 2025
b6c89b6
Make it compile
alexanderwassbjer Aug 27, 2025
6143f34
Changes from codereview
alexanderwassbjer Aug 29, 2025
f2ee70b
Merge branch 'main' of github.com:oss-apps/split-pro
alexanderwassbjer Aug 29, 2025
534299c
Add translations for feature on homepage
alexanderwassbjer Aug 29, 2025
21f5696
Move the envs to page hoc
alexanderwassbjer Aug 29, 2025
fabada1
Refactor to make it easier to add more providers
alexanderwassbjer Aug 29, 2025
b2546c8
Reuse
alexanderwassbjer Aug 29, 2025
afa321f
Fix ts error
alexanderwassbjer Aug 29, 2025
3e873a0
poc with pg_cron
alexanderwassbjer Aug 30, 2025
4408050
Remove the testing cron job
alexanderwassbjer Aug 30, 2025
7d01ea1
Refactor to make it even easier to add more providers
alexanderwassbjer Aug 30, 2025
c70e015
Move some reusable code
alexanderwassbjer Aug 31, 2025
1fbb1f5
User language to gocardless session
alexanderwassbjer Aug 31, 2025
5481a77
Merge branch 'main' of github.com:oss-apps/split-pro
alexanderwassbjer Sep 18, 2025
20cc30e
Fix import
alexanderwassbjer Sep 18, 2025
c39a955
Change some locales
alexanderwassbjer Sep 18, 2025
dacbed6
Add plaid along side with gocardless
alexanderwassbjer Sep 18, 2025
6174e2f
Update plaid support
alexanderwassbjer Sep 19, 2025
d039681
Whitespace and locale key regression fixes
krokosik Sep 21, 2025
524cf6a
Changes according to review
alexanderwassbjer Sep 22, 2025
6519788
Merge branch 'main' of github.com:alexanderwassbjer/split-pro
alexanderwassbjer Sep 22, 2025
82afc12
Add migration
alexanderwassbjer Sep 22, 2025
b8d8a85
Update cache from migration
alexanderwassbjer Sep 22, 2025
ba6c49a
Update according to review
alexanderwassbjer Oct 1, 2025
2bbba1b
Merge branch 'main' of github.com:oss-apps/split-pro
alexanderwassbjer Oct 1, 2025
77eca22
Fix missing translation
alexanderwassbjer Oct 1, 2025
68a7cbf
Comment out multiple transactions
alexanderwassbjer Oct 1, 2025
cf14954
Merge migrations, setup the cron jobs
alexanderwassbjer Oct 2, 2025
edd0620
Add check for db url
alexanderwassbjer Oct 2, 2025
82677d2
Changes after review
alexanderwassbjer Oct 4, 2025
39c45b1
UI fixes and optional transactionId
krokosik Oct 4, 2025
42d3c4c
Hide clear button when its disabled
krokosik Oct 4, 2025
6c0a226
Fix peer dep issues and next runtime check
krokosik Oct 4, 2025
bc38a6e
Fix build
alexanderwassbjer Oct 6, 2025
25c136f
Merge branch 'main' of github.com:alexanderwassbjer/split-pro
alexanderwassbjer Oct 6, 2025
4879d8d
Fix lint
alexanderwassbjer Oct 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,26 @@ EMAIL_SERVER_PORT=
EMAIL_SERVER_USER=
EMAIL_SERVER_PASSWORD=

# GoCardless options
GOCARDLESS_COUNTRY=
GOCARDLESS_SECRET_ID=
GOCARDLESS_SECRET_KEY=
# Bank Transactions will be fetched from today and 30 days back as default.
GOCARDLESS_INTERVAL_IN_DAYS=

# Plaid options
PLAID_CLIENT_ID=
PLAID_SECRET=
# sandbox/development/production
PLAID_ENVIRONMENT=
# https://plaid.com/docs/institutions/
PLAID_COUNTRY_CODES=
# Bank Transactions will be fetched from today and 30 days back as default.
PLAID_INTERVAL_IN_DAYS=

# Cron-job options
CLEAR_BANK_CACHE_FREQUENCY=

# Google Provider : https://next-auth.js.org/providers/google
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pnpm lint-staged
pnpm tsgo --noEmit
pnpm tsgo --noEmit
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22.16.0
22.16.0
1 change: 1 addition & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"prefer-default-export": "off",
"yoda": "off",
"new-cap": "off",
"no-named-export": "off",
"id-length": "off",
"react_perf/jsx-no-jsx-as-prop": "off",
"no-nested-ternary": "off",
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ pnpm i
- Copy the env.example file into .env
- Setup google oauth required for auth https://next-auth.js.org/providers/google or Email provider by setting SMTP details
- Login to minio console using `splitpro` user and password `password` and [create access keys](http://localhost:9001/access-keys/new-account) and the R2 related env variables
- If you want to use bank integration please create a free account on [GoCardless](https://gocardless.com/bank-account-data/) or [Plaid](https://plaid.com) and then enter the the related env variables, read more in the README_BANKTRANSACTIONS.md` file.

### Run the app

Expand Down
15 changes: 15 additions & 0 deletions README_BANKTRANSACTIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Bank Account Connection

> GoCardless is deprecated. Please use Plaid instead.

### To get started with Plaid:

1. Create an account on Plaid.
2. Obtain your API keys (client_id and secret).
3. Add the API keys as environment variables in the split-pro repo. See the example in .env.example.
4. You’re done! ✅

### How to use the bank connection:

1. Connect your bank provider to your split-pro account. Log in to split-pro, go to your account page. If Plaid is set up correctly according to the steps above, you will see a “Connect to bank” option on the account page.
2. Once the connection is complete, you can start adding bank transactions. Go to Add new expense in either a group or friend page. There you will find “Transactions”. Click it, select the transactions you want to add, and then click “Submit all.”
7 changes: 6 additions & 1 deletion docker/dev/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: split-pro-dev

services:
postgres:
image: postgres:16
image: ossapps/postgres
container_name: ${POSTGRES_CONTAINER_NAME:-splitpro-db}
restart: always
environment:
Expand All @@ -14,6 +14,11 @@ services:
- database:/var/lib/postgresql/data
ports:
- '${POSTGRES_PORT:-5432}:${POSTGRES_PORT:-5432}'
command: >
postgres
-c shared_preload_libraries=pg_cron
-c cron.database_name=${POSTGRES_DB:-splitpro}
-c cron.timezone=${TZ:-UTC}

minio:
image: minio/minio
Expand Down
7 changes: 6 additions & 1 deletion docker/prod/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: split-pro-prod

services:
postgres:
image: postgres:16
image: ossapps/postgres
container_name: ${POSTGRES_CONTAINER_NAME:-splitpro-db}
restart: always
environment:
Expand All @@ -20,6 +20,11 @@ services:
env_file: .env
volumes:
- database:/var/lib/postgresql/data
command: >
postgres
-c shared_preload_libraries=pg_cron
-c cron.database_name=${POSTGRES_DB:-splitpro}
-c cron.timezone=${TZ:-UTC}

splitpro:
image: ossapps/splitpro:latest
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,19 @@
"lucide-react": "^0.544.0",
"nanoid": "^5.0.6",
"next": "15.4.7",
"next-auth": "^4.24.5",
"next-auth": "^4.24.11",
"next-i18next": "^15.4.2",
"next-themes": "^0.2.1",
"nodemailer": "^6.9.8",
"nordigen-node": "^1.4.1",
"plaid": "^38.1.0",
"radix-ui": "^1.4.2",
"react": "19.1.1",
"react-day-picker": "^9.7.0",
"react-dom": "19.1.1",
"react-hook-form": "^7.50.1",
"react-i18next": "^15.5.3",
"react-plaid-link": "4.1.1",
"sonner": "^1.4.0",
"superjson": "^2.2.1",
"vaul": "^1.1.2",
Expand Down
Loading