A modern web application built with Laravel and React to help you manage your personal finances with ease.
- 📊 Track daily, weekly, monthly and yearly transactions
- 💸 Categorize income and expenses
- 📅 Calendar view for transaction history
- 📱 Responsive design for mobile and desktop
- 🔒 Secure user authentication
- 📤 Export transaction data in CSV
- 🌓 Dark mode
- Frontend: React, TailwindCSS, Inertia.js
- Backend: Laravel 11
- Database: MySQL
- Authentication: Laravel Breeze
- Containerization: Docker
- Deployment: Vercel
- Docker
- Node.js (v18+)
- PHP 8.2+
- Composer
- Clone the repository
git clone https://github.com/mehedi37/Discipline.git
cd Discipline- Install dependencies
composer install
npm install- Set up environment variables
cp .env.example .env
php artisan key:generate- Start Docker containers
docker-compose up -d- Run migrations
docker-compose exec app php artisan migrate- Start development server
npm run devThe project uses a multi-container setup with:
- PHP 8.2 FPM Alpine
- Nginx
- MySQL
- Node.js
Key configuration files:
- Dockerfile - PHP application container
- docker-compose.yml - Container orchestration
- nginx.conf - Nginx web server configuration
- Install Vercel CLI
npm i -g vercel- Deploy
vercelMake sure to configure your environment variables in Vercel's dashboard.
Run the test suite:
php artisan testBuild assets:
npm run buildWatch for changes:
npm run dev- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Laravel Framework
- React
- Tailwind CSS
- Inertia.js
- All contributors who help improve this project
Made with ❤️ by Mehedi