Skip to main content

Overview

The web routes define the main application endpoints for Cashify, including dashboard, accounts, transactions, categories, and profile management. Most routes require authentication and email verification.

Public Routes

Home Page

GET /
Middleware: guest
Controller: Closure
Route Name: home
Displays the landing page for unauthenticated users.

Features Page

GET /features
Middleware: guest
Controller: Closure
Route Name: features
Displays the features page for unauthenticated users.

Privacy Policy

GET /privacy-policy
Middleware: None
Controller: Closure
Route Name: privacy-policy
Displays the privacy policy page.

Language Switcher

GET /language/{locale}
Middleware: None
Controller: Closure
Route Name: language.switch
Parameters:
  • locale (string): Language code (en or bg)
Switches the application language and redirects back.

Authenticated Routes

All routes below require auth and verified middleware.

Dashboard

View Dashboard

GET /dashboard
Middleware: auth, verified
Controller: DashboardController
Route Name: dashboard
Displays the user’s dashboard with financial overview.

Profile Management

Edit Profile

GET /profile
Middleware: auth, verified
Controller: ProfileController@edit
Route Name: profile.edit
Displays the profile edit form.

Update Profile

PATCH /profile
Middleware: auth, verified
Controller: ProfileController@update
Route Name: profile.update
Updates the user’s profile information.

Delete Profile

DELETE /profile
Middleware: auth, verified
Controller: ProfileController@destroy
Route Name: profile.destroy
Deletes the user’s account.

Accounts

List Accounts

GET /accounts
Middleware: auth, verified
Controller: AccountController@index
Route Name: accounts.index
Displays all accounts for the authenticated user.

Create Account Form

GET /accounts/create
Middleware: auth, verified
Controller: AccountController@create
Route Name: accounts.create
Displays the account creation form.

Store Account

POST /accounts
Middleware: auth, verified
Controller: AccountController@store
Route Name: accounts.store
Creates a new account.

View Account

GET /accounts/{account}
Middleware: auth, verified
Controller: AccountController@show
Route Name: accounts.show
Authorization: view policy
Parameters:
  • account (integer): Account ID
Displays a specific account’s details.

Edit Account Form

GET /accounts/{account}/edit
Middleware: auth, verified
Controller: AccountController@edit
Route Name: accounts.edit
Authorization: update policy
Parameters:
  • account (integer): Account ID
Displays the account edit form.

Update Account

PATCH /accounts/{account}
Middleware: auth, verified
Controller: AccountController@update
Route Name: accounts.update
Authorization: update policy
Parameters:
  • account (integer): Account ID
Updates an existing account.

Transfer Form

GET /accounts/{account}/transfer
Middleware: auth, verified
Controller: AccountController@transfer
Route Name: accounts.transfer
Authorization: update policy
Parameters:
  • account (integer): Account ID
Displays the transfer form for moving funds between accounts.

Process Transfer

PATCH /accounts/{account}/transfer
Middleware: auth, verified
Controller: AccountController@storeTransfer
Route Name: accounts.storeTransfer
Authorization: update policy
Parameters:
  • account (integer): Source account ID
Processes a transfer between accounts.

Delete Account

DELETE /accounts/{account}
Middleware: auth, verified
Controller: AccountController@destroy
Route Name: accounts.destroy
Authorization: delete policy
Parameters:
  • account (integer): Account ID
Deletes an account.

Categories

List Categories

GET /categories
Middleware: auth, verified
Controller: CategoryController@index
Route Name: categories.index
Displays all categories for the authenticated user.

Create Category Form

GET /categories/create
Middleware: auth, verified
Controller: CategoryController@create
Route Name: categories.create
Displays the category creation form.

Store Category

POST /categories
Middleware: auth, verified
Controller: CategoryController@store
Route Name: categories.store
Creates a new category.

View Category

GET /categories/{category}
Middleware: auth, verified
Controller: CategoryController@show
Route Name: categories.show
Authorization: view policy
Parameters:
  • category (integer): Category ID
Displays a specific category’s details.

Edit Category Form

GET /categories/{category}/edit
Middleware: auth, verified
Controller: CategoryController@edit
Route Name: categories.edit
Authorization: update policy
Parameters:
  • category (integer): Category ID
Displays the category edit form.

Update Category

PATCH /categories/{category}
Middleware: auth, verified
Controller: CategoryController@update
Route Name: categories.update
Authorization: update policy
Parameters:
  • category (integer): Category ID
Updates an existing category.

Delete Category

DELETE /categories/{category}
Middleware: auth, verified
Controller: CategoryController@destroy
Route Name: categories.destroy
Authorization: delete policy
Parameters:
  • category (integer): Category ID
Deletes a category.

Transactions

List Transactions

GET /transactions
Middleware: auth, verified
Controller: TransactionController@index
Route Name: transactions.index
Displays all transactions for the authenticated user.

Create Transaction Form

GET /transactions/create
Middleware: auth, verified
Controller: TransactionController@create
Route Name: transactions.create
Displays the transaction creation form.

Store Transaction

POST /transactions
Middleware: auth, verified
Controller: TransactionController@store
Route Name: transactions.store
Creates a new transaction.

Edit Transaction Form

GET /transactions/{transaction}/edit
Middleware: auth, verified
Controller: TransactionController@edit
Route Name: transactions.edit
Authorization: update policy
Parameters:
  • transaction (integer): Transaction ID
Displays the transaction edit form.

Update Transaction

PATCH /transactions/{transaction}
Middleware: auth, verified
Controller: TransactionController@update
Route Name: transactions.update
Authorization: update policy
Parameters:
  • transaction (integer): Transaction ID
Updates an existing transaction.

Delete Transaction

DELETE /transactions/{transaction}
Middleware: auth, verified
Controller: TransactionController@destroy
Route Name: transactions.destroy
Authorization: delete policy
Parameters:
  • transaction (integer): Transaction ID
Deletes a transaction.

Search Icons

POST /search/icons
Middleware: auth, verified
Controller: SearchController@searchIcons
Route Name: categories.searchIcons
Searches for icons available for categories.

Search Categories

POST /search/categories/{type}
Middleware: auth, verified
Controller: SearchController@searchCategories
Route Name: categories.searchCategories
Parameters:
  • type (string): Category type to search
Searches for categories by type.

Utility Routes

Cancel Operation

POST /cancel
Middleware: auth, verified
Controller: CancelController
Route Name: cancel
Cancels an ongoing operation and redirects to the previous page.

Placeholder Routes

These routes are placeholders for future features:

Goals

GET /goals
Middleware: auth, verified
Route Name: goals

Scheduled Transactions

GET /scheduled
Middleware: auth, verified
Route Name: scheduled

Spending Analytics

GET /spending
Middleware: auth, verified
Route Name: spending

Build docs developers (and LLMs) love