https://github.com/azeemk210/expense_tracker
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Basic Info
- Host: GitHub
- Owner: azeemk210
- Language: JavaScript
- Default Branch: main
- Size: 43 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Created 11 months ago
· Last pushed 11 months ago
Metadata Files
Readme
README.md
Expense Tracker
A full-stack expense tracker app with a FastAPI backend and React frontend.
Features
- Add, edit, delete, and filter expenses
- Upload proof (image/pdf) for each expense
- Floor selection (Basement, Ground, 1st, 2nd, etc.)
- Dashboard with stats and filtering
- File uploads and downloads
- Responsive UI
Project Structure
expense_tracker/
├── backend/
│ ├── app/
│ ├── requirements.txt
│ └── ...
├── frontend/
│ ├── src/
│ ├── package.json
│ └── ...
├── .gitignore
├── README.md
└── ...
Getting Started
1. Clone the repository
sh
git clone https://github.com/azeemk210/expense_tracker.git
cd expense_tracker
2. Setup Python backend
```sh cd backend python -m venv venv venv\Scripts\activate # On Windows
source venv/bin/activate # On Linux/Mac
pip install -r requirements.txt ```
2.1. (Optional) Initialize the database
- The app uses SQLite by default. The database will be created automatically on first run.
- If you need to add the
floorcolumn manually:- Open SQLite CLI:
sqlite3 app/data/expenses.db - Run:
ALTER TABLE expense ADD COLUMN floor TEXT;
- Open SQLite CLI:
3. Run the backend server
sh
uvicorn app.main:app --reload
- The API will be available at
http://localhost:8000/api/expenses
4. Setup React frontend
sh
cd ../frontend
npm install
5. Run the frontend
sh
npm run dev
- The app will be available at http://localhost:5173
Deployment
Deploying on Hostinger (VPS recommended)
- Upload your project files to the server.
- Install Python, Node.js, and SQLite if not present.
- Set up the backend as above (create venv, install requirements).
- Set up the frontend as above (npm install, npm run build).
- Use a process manager (e.g.,
pm2,gunicorn, orsystemd) to run the backend. - Serve the frontend build with Nginx or another web server.
- Configure Nginx to reverse proxy API requests to the backend.
Using GitHub
- Push your code to GitHub for version control:
sh git init git add . git commit -m "Initial commit" git remote add origin https://github.com/azeemk210/expense_tracker.git git push -u origin main - You can deploy from GitHub by cloning the repo on your server.
Notes
- All CSV, Excel, WhatsApp chat, and upload files are ignored by git (see
.gitignore). - For production, set up environment variables and secure your API.
- For any issues, check the backend logs and frontend console for errors.
License
MIT
Owner
- Name: azeemk210
- Login: azeemk210
- Kind: user
- Repositories: 1
- Profile: https://github.com/azeemk210
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Dependencies
frontend/package-lock.json
npm
- 226 dependencies
frontend/package.json
npm
- @eslint/js ^9.33.0 development
- @types/react ^19.1.10 development
- @types/react-dom ^19.1.7 development
- @vitejs/plugin-react ^5.0.0 development
- eslint ^9.33.0 development
- eslint-plugin-react-hooks ^5.2.0 development
- eslint-plugin-react-refresh ^0.4.20 development
- globals ^16.3.0 development
- vite ^7.1.2 development
- @tanstack/react-query ^5.85.3
- axios ^1.11.0
- react ^19.1.1
- react-dom ^19.1.1
- react-router-dom ^7.8.1
backend/requirements.txt
pypi
- fastapi *
- pydantic-settings *
- python-multipart *
- sqlalchemy *
- sqlmodel *
- uvicorn *