Skip to content

sivaangayarkanni/personal-finance-ai-assistant

Repository files navigation

Contributing to Personal Finance AI Assistant

Thank you for your interest in contributing to the Personal Finance AI Assistant! We welcome contributions from everyone.

🀝 How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. If not, create a new issue with:
    • Clear description of the bug
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots if applicable
    • Environment details (OS, browser, etc.)

Suggesting Features

  1. Check existing Issues and Discussions
  2. Create a new issue with:
    • Clear description of the feature
    • Use case and benefits
    • Possible implementation approach

Code Contributions

Getting Started

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/yourusername/personal-finance-chatbot.git
    cd personal-finance-chatbot
  3. Install dependencies:
    npm install
  4. Create a new branch:
    git checkout -b feature/your-feature-name

Development Guidelines

Code Style
  • Use TypeScript for all new code
  • Follow existing code formatting (Prettier configuration)
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Follow React best practices
Security Guidelines
  • Never commit sensitive data (API keys, passwords, etc.)
  • Use environment variables for configuration
  • Validate all user inputs
  • Follow secure coding practices
  • Test security features thoroughly
Accessibility Guidelines
  • Ensure all new features are accessible
  • Use semantic HTML elements
  • Add proper ARIA labels
  • Test with screen readers
  • Maintain keyboard navigation support
  • Follow WCAG 2.1 AA guidelines
Testing
  • Write tests for new features
  • Ensure existing tests pass
  • Test accessibility features
  • Test on multiple browsers
  • Test voice features if applicable

Pull Request Process

  1. Before submitting:

    • Ensure your code follows the style guidelines
    • Run tests: npm test
    • Build the project: npm run build
    • Test accessibility features
    • Update documentation if needed
  2. Submitting the PR:

    • Use a clear, descriptive title
    • Describe what changes you made and why
    • Reference any related issues
    • Include screenshots for UI changes
    • Mark as draft if work in progress
  3. After submitting:

    • Respond to review feedback promptly
    • Make requested changes
    • Keep the PR updated with main branch

Commit Message Guidelines

Use clear, descriptive commit messages:

feat: add bank account connection feature
fix: resolve accessibility issue in navigation
docs: update installation instructions
style: improve button hover effects
refactor: optimize transaction categorization
test: add tests for security features

πŸ”’ Security Contributions

Reporting Security Vulnerabilities

  • DO NOT create public issues for security vulnerabilities
  • Email security@yourdomain.com with details
  • Include steps to reproduce and potential impact
  • We'll respond within 24 hours

Security Code Reviews

  • All security-related changes require thorough review
  • Test with security tools and manual testing
  • Document security implications
  • Follow principle of least privilege

β™Ώ Accessibility Contributions

Accessibility Testing

  • Test with screen readers (NVDA, JAWS, VoiceOver)
  • Verify keyboard navigation
  • Check color contrast ratios
  • Test voice features
  • Validate ARIA implementation

Accessibility Guidelines

  • Use semantic HTML
  • Provide alternative text for images
  • Ensure proper heading hierarchy
  • Add ARIA labels where needed
  • Test with assistive technologies

🌍 Internationalization

Adding New Languages

  1. Create translation files in locales/ directory
  2. Update language selector component
  3. Test right-to-left languages if applicable
  4. Ensure cultural appropriateness

Translation Guidelines

  • Use clear, simple language
  • Consider cultural context
  • Test with native speakers
  • Maintain consistent terminology

πŸ“ Documentation

Code Documentation

  • Document complex functions and algorithms
  • Add JSDoc comments for public APIs
  • Update README for new features
  • Include examples in documentation

User Documentation

  • Update user guides for new features
  • Add screenshots and videos
  • Keep accessibility instructions current
  • Translate important documentation

🎯 Priority Areas

We especially welcome contributions in these areas:

High Priority

  • Security enhancements
  • Accessibility improvements
  • Performance optimizations
  • Bug fixes
  • Test coverage improvements

Medium Priority

  • New financial features
  • UI/UX improvements
  • Additional bank integrations
  • Voice command enhancements
  • Mobile responsiveness

Low Priority

  • Code refactoring
  • Documentation improvements
  • Development tooling
  • Additional languages

πŸš€ Development Setup

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git
  • Modern browser for testing

Environment Setup

  1. Copy environment template:
    cp .env.example .env.local
  2. Add required API keys
  3. Configure security settings
  4. Test the application

Testing Setup

  • Run development server: npm run dev
  • Run tests: npm test
  • Check accessibility: Use browser dev tools
  • Test voice features: Enable microphone permissions

πŸ“ž Getting Help

Community Support

Development Questions

  • Check existing documentation
  • Search closed issues and discussions
  • Ask specific, detailed questions
  • Provide context and examples

πŸ† Recognition

Contributors will be:

  • Listed in the README
  • Mentioned in release notes
  • Invited to join the contributors team
  • Recognized for significant contributions

πŸ“„ License

By contributing, you agree that your contributions will be licensed under the MIT License.


Thank you for helping make financial technology more accessible and inclusive! πŸ™

About

Comprehensive personal finance platform with AI insights, bank integration, and accessibility support

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published