Ecomsy, an interactive platform for managing personal that offers a variety of advanced features, including an interactive financial dashboard, various types of customizable charts, filters by bank account and date, a detailed table of transactions, a form for adding transactions, customizable selection components, clear distinction between income and expenses, import of transactions via CSV, status management via Tanstack React Query, integration with bank accounts via Plaid, premium upgrades via Leemon Squeezy, authentication via Clerk and much more...
Follow the steps to install and configure the platform.
- Note that you need to have Node +18 installed
- Note that you need all the environment keys filled out
npm install
npm run db:generate
npm run db:migrate
npm run dev
GET /api/plaid/connected-bank
DELETE /api/plaid/connected-bank
POST /api/plaid/create-link-token
POST /api/plaid/exchange-public-token
Parameter | Type | Description |
---|---|---|
publicToken |
string |
Required. Public token to perform the exchange |
GET /api/summary
Parameter | Type | Description |
---|---|---|
from |
string |
Search start date, format yyyy-MM-dd |
to |
string |
Search end date, format yyyy-MM-dd |
accountId |
string |
The account id to search |
GET /api/accounts
GET /api/accounts/:id
POST /api/accounts
POST /api/accounts/bulk-delete
PATCH /api/accounts/:id
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Account id |
plaidId |
string |
Connected bank account |
name |
string |
Required. Name of the account |
userId |
string |
Required. User id of the account holder |
DELETE /api/accounts/:id
GET /api/categories
GET /api/categories/:id
POST /api/categories
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Category id |
plaidId |
string |
Connected bank account |
name |
string |
Required. Name of the category |
userId |
string |
Required. User id of the category holder |
POST /api/categories/bulk-delete
PATCH /api/categories/:id
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Category id |
plaidId |
string |
Connected bank account |
name |
string |
Required. Name of the category |
userId |
string |
Required. User id of the category holder |
DELETE /api/categories/:id
GET /api/transactions
GET /api/transactions/:id
POST /api/transactions
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Transaction id |
plaidId |
string |
Connected bank account |
name |
string |
Required. Name of the transaction |
userId |
string |
Required. User id of the transaction holder |
POST /api/transactions/bulk-delete
PATCH /api/transactions/:id
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Transaction id |
plaidId |
string |
Connected bank account |
name |
string |
Required. Name of the transaction |
userId |
string |
Required. User id of the transaction holder |
DELETE /api/transactions/:id
GET /api/subscriptions/current
POST /api/subscriptions/checkout
POST /api/subscriptions/webhook
POST /api/seed