FinanceFlow is a comprehensive personal finance management platform designed to help users track income, expenses, savings, and financial goals. It provides an intuitive interface to manage finances, analyze spending patterns, and make informed financial decisions.
The platform allows users to log transactions, categorize expenses, set budgets, track savings goals, and generate financial reports. FinanceFlow ensures a seamless user experience by prioritizing security, efficiency, and scalability while keeping financial data organized and accessible across devices.
FinanceFlow follows Agile development principles and uses Kanban methodology:
We follow the GitFlow workflow, which provides a structured branching strategy for feature development, releases, and hotfixes.
main
branch ā Contains stable production-ready code.develop
branch ā Active development happens here.feature/feature-name
) ā Used for new features.release/version-number
) ā Used to prepare for a new release.hotfix/fix-name
) ā Used for urgent bug fixes in production.1ļøā£ Cloning the repository & setting up branches
# Clone the repository
git clone https://github.com/Omid2831/FinanceFlow.git
cd FinanceFlow
# Set up main and develop branches
git checkout main
git checkout -b develop
2ļøā£ Starting a new feature
# Create a new feature branch
git checkout -b feature/user-authentication
# Work on the feature, commit changes
git add .
git commit -m "feat: add user authentication module"
# Merge the feature branch back to develop
git checkout develop
git merge feature/user-authentication
3ļøā£ Creating a release branch
# Create a release branch
git checkout -b release/v1.0.0
# Perform final tests, bug fixes, and optimizations
git commit -m "fix: resolve minor UI issues"
# Merge into main and tag the release
git checkout main
git merge release/v1.0.0
git tag -a v1.0.0 -m "FinanceFlow v1.0.0 release"
4ļøā£ Handling hotfixes
# Create a hotfix branch for an urgent bug
git checkout -b hotfix/fix-login-bug
# Fix the issue, commit, and merge into main
git commit -m "fix: resolve login issue"
git checkout main
git merge hotfix/fix-login-bug
# Merge the fix into develop as well
git checkout develop
git merge main
This ensures a clean, structured workflow for development and releases. š
ā
React.js ā Core framework for building the UI
ā
HTML, CSS, JavaScript ā Essential web technologies
ā
Tailwind CSS or Bootstrap ā For styling
ā
Redux or Context API ā For state management
ā
Python (Flask) ā Lightweight and easy-to-use web framework
ā
Flask Extensions ā (e.g., Flask-SQLAlchemy for ORM, Flask-JWT-Extended for JWT authentication)
ā
SQL (PostgreSQL or MySQL) ā Structured, relational database
ā
SQLite (for development/testing) ā Lightweight and easy to set up
ā
Git & GitHub ā Version control for collaboration
ā
Node.js (for frontend tools only) ā Required for package management (npm, yarn)
ā
REST API Development ā For communication between frontend and backend
ā
JWT or OAuth ā For authentication & security
ā
Kanban & Agile Methodology ā For project management (Trello, GitHub Projects)
We use Conventional Commits for clear and consistent commit messages.
type(scope): message
feat:
ā New feature (e.g., feat: add budget tracking
)fix:
ā Bug fix (e.g., fix: resolve login issue
)refactor:
ā Code refactoring (e.g., refactor: optimize API calls
)docs:
ā Documentation updates (e.g., docs: update README
)style:
ā UI/design improvements (e.g., style: enhance button UI
)test:
ā Adding or updating tests (e.g., test: add unit test for auth
)chore:
ā Maintenance tasks (e.g., chore: update dependencies
)Example commit:
git commit -m "feat(auth): add JWT authentication support"
This keeps commit history clean and meaningful! š
1ļøā£ Clone the repository
git clone https://github.com/Omid2831/FinanceFlow.git
cd FinanceFlow
2ļøā£ Install dependencies (for frontend)
npm install # or yarn install
3ļøā£ Start the development server
npm start # or yarn start
4ļøā£ Set up the backend (Flask)
# Example for Flask backend
pip install -r requirements.txt
python app.py # Or use flask run
5ļøā£ Enjoy FinanceFlow! š
Developed by: Omid2831
GitHub: @Omid2831