A comprehensive business management solution designed to streamline operations, manage customers, track expenses, and generate insightful reports.
- Dashboard: Get a quick overview of your business performance with key metrics and charts.
- Customer Management: Easily add, edit, and view detailed customer information and their work history.
- Expense Tracking: Keep track of all your business expenses and purchases in one place.
- Reporting: Generate detailed reports to analyze income, expenses, and overall profitability.
- Authentication: Secure access to your business data with user authentication.
![]() |
![]() |
![]() |
![]() |
- Frontend: Flutter
- Backend: Supabase
- Desktop Integration: Window Manager
This application has been tested and verified on the following platforms (because I don't have a Mac to compile for iOS/macOS):
- ✅ Android
- ✅ Windows
- ✅ Linux
To run this project locally, follow these steps:
-
Prerequisites: Ensure you have the Flutter SDK installed.
-
Clone the repository:
git clone <repository-url> cd tjm_business_platform
-
Install dependencies: Navigate to the frontend directory:
cd tjm_business_platform_frontend flutter pub getNavigate to the logic directory:
cd tjm_business_platform_logic dart pub get -
Run the app:
flutter run
-
Supabase account: Log in or create an account at Supabase.
-
Create a new project: Click on create a new project, ensure to create your project at the nearest region.
-
Create database: Copy the
sqlscript fromdatabase.sqland paste it in theSQL Editorthen execute all except:insert into users (id, name, last_name, email, phone_number, role) values ( '280ed459-f54e-4af3-b6d5', -- id that Supabase Auth returns 'Juan Manuel', -- name 'Velázquez', -- last name 'itzjuanmadev@proton.me', -- email '+595900000000', -- phone number 'admin' -- role );
-
Create user for
Auth: Go toAuthenticationpanel to Add a new user. After create a user, copy theUIDof the new user. -
Register user to allow Login: Complete all fields of the
insertqueryinsert into users (id, name, last_name, email, phone_number, role) values ( 'id-you-copied', -- id that Supabase Auth returns 'name', -- name 'last-name', -- last name 'mail@mail.com', -- email '123456789', -- phone number 'admin' -- role );
Always follow steps
3and4if you want to add more users to access the platform. -
Put secrets on the app: Create a
secrets.dartattjm_business_platform_frontend/liband put:String SUPABASE_URL = "https://yourprojecturl.supabase.co"; String SUPABASE_KEY = "project-api-key";
To get your project id just click on
Connecton Supabase, selectMobile Frameworksand copy the project URL. Then go to the side bar in Supabase and click onProject SettingsandAPI Keysthen create a new one.Then put the Project ID and API Key on
SUPABASE_URLandSUPABASE_KEYrespective.
admin have full platform control.
user only have access to create, edit, delete reports and clients.
accountant only have access to view business state and reguster purchases.
You can go to tjm_business_platform_frontend/lib/core/app_settings.dart and change the app name by your own business name, change the number format or even app pallet colors. Get a custom one from Material Theme Builder
Also you can go to tjm_business_platform_frontend/assets/ and change the app icon and the businnes logo. If you change the app's icon, ensure to run dart run flutter_launcher_icons -f flutter_launcher_icons.yaml and then compile the app.



