Skip to content

Cross-platform expense tracking app built with Flutter & Django.

Notifications You must be signed in to change notification settings

ClaraDEV-Fullstack/SmartSpend-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° SmartSpend - Intelligent Finance Tracker

SmartSpend is a modern, cross-platform application (Mobile & Web) designed to help users track expenses, manage budgets, and analyze financial habits. Built with Flutter for a beautiful UI and Django for a robust backend.

πŸ“Έ App Screenshots

Dashboard Auth_Cross_Browser Notifications
Dashboard AuthCrossBrowser Notification

πŸš€ Getting Starte

✨ Features

πŸ“± Cross-Platform: Android, iOS, and Web support.

πŸ” Secure Authentication: Email/password login + Google Sign-In.

πŸ’Έ Transaction Management: Track income and expenses efficiently.

πŸ”„ Recurring Transactions: Automate monthly bills and subscriptions.

πŸ“Š Interactive Dashboard: Visual spending breakdown by category.

πŸ“… Budgeting Alerts: Set monthly limits and receive notifications.

πŸ“‚ Export Data: Generate PDF & CSV reports.

🎨 Modern UI: Sleek purple & gold theme with Dark Mode support.

πŸ› οΈ Tech Stack Frontend (Flutter)

Framework: Flutter (Dart)

State Management: Provider

Networking: HTTP & Dio

Charts: fl_chart

Authentication: Google Sign-In

Backend (Django)

Framework: Django (Python)

API: Django REST Framework (DRF)

Database: SQLite (dev) / PostgreSQL (prod)

Authentication: JWT & OAuth2

Documentation: Swagger / Redoc

πŸ“‚ Folder Structure

Here’s a clear visual of your project:

SmartSpend/ β”œβ”€β”€ Backend/ β”‚ β”œβ”€β”€ manage.py β”‚ β”œβ”€β”€ requirements.txt β”‚ β”œβ”€β”€ venv/ β”‚ β”œβ”€β”€ .env # NOT committed β”‚ β”œβ”€β”€ app/ β”‚ β”‚ β”œβ”€β”€ migrations/ β”‚ β”‚ β”œβ”€β”€ models.py β”‚ β”‚ β”œβ”€β”€ views.py β”‚ β”‚ └── ... β”‚ └── media/ # Uploaded user files β”œβ”€β”€ frontend_new/ β”‚ β”œβ”€β”€ android/ β”‚ β”œβ”€β”€ ios/ β”‚ β”œβ”€β”€ lib/ β”‚ β”‚ β”œβ”€β”€ core/ β”‚ β”‚ β”‚ └── config/ β”‚ β”‚ β”œβ”€β”€ models/ β”‚ β”‚ β”œβ”€β”€ providers/ β”‚ β”‚ β”œβ”€β”€ screens/ β”‚ β”‚ β”œβ”€β”€ widgets/ β”‚ β”‚ └── main.dart β”‚ β”œβ”€β”€ build/ β”‚ └── pubspec.yaml β”œβ”€β”€ .gitignore └── README.md

Tip: This helps contributors understand your folder structure instantly.

πŸš€ Getting Started Prerequisites

Flutter SDK

Python 3.10+

Git

1️⃣ Backend Setup (Django) cd Backend

Windows

python -m venv venv .\venv\Scripts\activate

Mac/Linux

python3 -m venv venv source venv/bin/activate

pip install -r requirements.txt python manage.py migrate python manage.py runserver

The API runs at: http://127.0.0.1:8000/

2️⃣ Frontend Setup (Flutter) cd frontend_new flutter pub get

Configure API URL: Check lib/core/config/api_config.dart

Platform API URL Android Emulator http://10.0.2.2:8000 Web / iOS http://127.0.0.1:8000

Run the app:

Android

flutter run

Web (Chrome)

flutter run -d chrome --web-port=5000

3️⃣ Environment Variables

Create a .env file in Backend/:

SECRET_KEY=your_django_secret_key DEBUG=True ALLOWED_HOSTS=127.0.0.1,localhost,10.0.2.2

Important: Never commit .env to Git. Add it to .gitignore.

4️⃣ Screenshots (Add Your Own)

You should replace the placeholders below with real screenshots from your app.

Dashboard Transactions Profile

Tip: Take screenshots for Mobile and Web. Include key features like: Dashboard, Transaction List, Budget Alerts, and Profile screens.

🀝 Contributing

Fork the repository

Create a feature branch: git checkout -b feature/YourFeature

Commit changes: git commit -m "Add YourFeature"

Push: git push origin feature/YourFeature

Open a Pull Request

πŸ“„ License

This project is open-source under the MIT License.

⚠️ .gitignore

--- Django ---

Backend/venv/ Backend/pycache/ Backend/*.sqlite3 Backend/.env Backend/media/ *.pyc

--- Flutter ---

frontend_new/build/ frontend_new/.dart_tool/ frontend_new/.flutter-plugins frontend_new/.flutter-plugins-dependencies frontend_new/.idea/ frontend_new/android/.gradle frontend_new/ios/.symlinks/ frontend_new/ios/Pods/

--- IDEs ---

.vscode/ .idea/ *.DS_Store

About

Cross-platform expense tracking app built with Flutter & Django.

Topics

Resources

Stars

Watchers

Forks