8000 GitHub - siriusanjan/expe_tracking · GitHub
[go: up one dir, main page]

Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

Expe_Tracking

A new Flutter project for managing expenses with role-based authentication and offline support.

No backend and cloud storage so I have use glcloud to setup notification so access token may expires and need to be refresh by me and set it to remote config to refresh

Getting Started

Project Setup & Authentication

  • 🔲 Set up Flutter project and configure Firebase
  • 🔲 Implement role-based authentication (Admin, Manager, Employee)
  • 🔲 Create dynamic accounts creation for each role (for tesing and expirenment)
  • 🔲 Set up navigation for role-based routing

Expense Management & Offline Mode

  • 🔲 Implement expense creation for Employees (title, description, amount, receipt upload)
    (Note: receipt upload is limited due to Firebase storage restrictions on the free tier)
  • 🔲 Store expenses locally using sqflite for offline support
  • 🔲 Sync offline data to the server when reconnected (Not done)

Expense Approval & Dashboard

  • 🔲 Implement Managers’ ability to approve/reject expenses
  • 🔲 Admin can view all expenses with filtering options (user, date, status)
  • 🔲 Create graphical dashboard views for each role (Currently normal view)

Notifications & Enhancements

  • 🔲 Implement push notifications using Firebase
    (Note: iOS notifications are limited due to APNs system requiring an Apple Developer account)
  • 🔲 Employees get notified on approval/rejection
  • 🔲 Managers get notified on new submissions
  • 🔲 Implement expense pagination and search filtering

Testing & Documentation

  • 🔲 Write unit tests for expense management (Not done)
  • 🔲 Refactor code to follow clean architecture (data, domain, presentation layers)
  • 🔲 Write README with setup instructions and explanations
  • 🔲 Final testing on Android & iOS
  • 🔲 Upload project to GitHub and submit

Requirements

  • Flutter SDK
  • Firebase setup (Authentication, Firestore, Firebase Messaging)
  • sqflite for local database storage
  • Firebase Cloud Storage (if needed for receipt upload)

Installation

  1. Clone the repository:

    git clone https://github.com/siriusanjan/expe_traking.git
  2. Navigate to the project folder:

    cd expe_traking
  3. Install dependencies:

    flutter pub get
  4. Set up Firebase for your project as described in the Firebase documentation.

  5. Run the project:

    flutter run

Contributing

Feel free to fork this project and make improvements. Open a pull request with any suggestions or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0