Installation Guide
This comprehensive guide will walk you through installing Cashify on your local development environment. Follow these steps to get Cashify up and running in minutes.System Requirements
Before you begin, ensure your system meets these requirements:Backend Requirements
- PHP: 8.2 or higher
- Composer: Latest version
- SQLite: 3.x (or MySQL/PostgreSQL)
- PHP Extensions: PDO, OpenSSL, Mbstring, Tokenizer, XML, Ctype, JSON
Frontend Requirements
- Node.js: 18.x or higher
- npm: 9.x or higher (or yarn/pnpm)
- Modern Browser: Chrome, Firefox, Safari, or Edge
Cashify uses SQLite by default for easy setup and portability. For production deployments, consider using PostgreSQL or MySQL.
Installation Steps
Follow these steps to install Cashify on your local machine:Clone the Repository
First, clone the Cashify repository from GitHub:This will create a
cashify directory with all the source code.Install PHP Dependencies
Use Composer to install all backend dependencies:This installs packages including:
- Laravel Framework (^11.0)
- Laravel Breeze (^2.0) for authentication
- Laravel Socialite (^5.15) for GitHub OAuth
- Laravel HTMX (^0.6.0) for dynamic interactions
Install JavaScript Dependencies
Install frontend dependencies using npm:This installs:
- Alpine.js (^3.4.2) for reactive components
- Tailwind CSS (^3.1.0) for styling
- ApexCharts (^3.49.1) for data visualization
- Vite (^5.0) for asset bundling
Configure Environment Variables
Copy the example environment file and customize it for your setup:The
.env file contains important configuration options:Generate Application Key
Generate a unique application encryption key:This command generates a random key and automatically adds it to your
.env file:Create Database
If using SQLite (default), create the database file:For MySQL or PostgreSQL, create the database using your database management tool:
Run Database Migrations
Execute migrations to create all necessary database tables:This creates the following tables:
users- User accounts and authenticationaccounts- Financial accounts (checking, savings, etc.)categories- Transaction categoriestransactions- Financial transactionsnet_worths- Net worth tracking datasessions- User session datacache- Application cachejobs- Queue jobs
Compile Frontend Assets
Build the frontend assets using Vite:For Development:This starts the Vite development server with hot module replacement (HMR) for real-time updates during development.For Production:This creates optimized, minified assets in the
public/build directory.Accessing the Application
Once installation is complete:Create an Account
Click “Register” to create a new user account, or “Login with GitHub” if you’ve configured GitHub OAuth
Optional: GitHub OAuth Setup
To enable GitHub authentication:Create GitHub OAuth App
- Go to GitHub Settings → Developer settings → OAuth Apps
- Click “New OAuth App”
- Fill in the application details:
- Application name: Cashify (or your preferred name)
- Homepage URL:
http://localhost:8000 - Authorization callback URL:
http://localhost:8000/auth/github/callback
Development Workflow
Running in Development Mode
For active development, you’ll want to run both servers simultaneously:- Hot module replacement for instant CSS/JS updates
- Automatic browser refresh on file changes
- Source maps for easier debugging
Useful Artisan Commands
Database Commands
Database Commands
Cache Commands
Cache Commands
Development Tools
Development Tools
Troubleshooting
Composer Install Fails
Composer Install Fails
Issue: Composer dependencies won’t installSolutions:
- Ensure PHP 8.2+ is installed:
php -v - Check required PHP extensions:
php -m - Update Composer:
composer self-update - Clear Composer cache:
composer clear-cache
NPM Install Errors
NPM Install Errors
Issue: Node packages fail to installSolutions:
- Update Node.js to version 18+:
node -v - Clear npm cache:
npm cache clean --force - Delete
node_modulesandpackage-lock.json, then runnpm installagain - Try using
yarnorpnpminstead
Migration Errors
Migration Errors
Issue: Database migrations failSolutions:
- Verify database connection in
.env - For SQLite, ensure
database/database.sqliteexists - Check database user permissions
- Review migration error messages for specific issues
- Try:
php artisan migrate:fresh(Warning: deletes all data)
Assets Not Loading
Assets Not Loading
Issue: CSS/JS files return 404 errorsSolutions:
- Ensure Vite is running:
npm run dev - Check
APP_URLin.envmatches your browser URL - Clear browser cache
- Verify
public/builddirectory exists (afternpm run build) - Check file permissions on
publicdirectory
Permission Denied Errors
Permission Denied Errors
Issue: File permission errors during installationSolutions:
Port 8000 Already in Use
Port 8000 Already in Use
Issue: Can’t start server because port 8000 is busySolutions:
Production Deployment
For production deployment, additional steps are recommended:Next Steps
Now that Cashify is installed:Quickstart Guide
Learn how to create your first account and transaction
Demo Video
Watch a full demonstration of Cashify’s features
GitHub Repository
View source code, report issues, or contribute
Laravel Documentation
Learn more about the Laravel framework
Getting Help
If you encounter issues during installation:- Check Error Messages: Read error output carefully for specific issues
- Review Logs: Check
storage/logs/laravel.logfor application errors - GitHub Issues: Search existing issues or create a new one
- Laravel Documentation: Official Laravel docs for framework-specific questions