Flutter Planner
Generated by the Very Good CLI
A Flutter application to plan personal activities and routines that uses Supabase for the backend.
Planner
Schedule
Features
- Responsive ui, tested on android and windows.
- Calendar and timeline view for daily activities.
- Timetable for weekly routines.
- Email authentication
Set up
Supabase
-
Create a new project.
-
Create a new table, named routines with the following rows (RLS enable).
Name Type Extra Other id int8 Is identity - user_id uuid Is nullable Foreign key (table: users, column: id) name text - - day int2 - - start_time time - - end_time time - - -
Create a new table, named 'activities', with the following rows (RLS enable).
Name Type Extra Other id int8 Is identity - user_id uuid Is nullable Foreign key (table: users, column: id) name text Is nullable - type int2 - Default value: 0 date date - - start_time time - - end_time time - - description text Is nullable - links text Is nullable, define as array - routine_id int8 Is nullable Foreign key (table: routines, column: id) -
Create a new policy for both tables.
- Allowed operation: ALL.
- USING expression: auth.uid() = user_id.
- WITH CHECK expression: (role() = 'authenticated'::text).
-
In authentication settings, disable email confirmations.
Flutter
- Clone this repo.
- In the root directory, create a new file named '.env' with the following lines.
SUPABASE_URL=<YOUR_URL>
SUPABASE_ANON_KEY=<YOUR_KEY>
- Run the desired flavor (for the moment all are the same).
# Development
$ flutter run --flavor development --target lib/main_development.dart
# Staging
$ flutter run --flavor staging --target lib/main_staging.dart
# Production
$ flutter run --flavor production --target lib/main_production.dart
*Flutter Planner works on iOS, Android, Web, and Windows.
Dependencies
Future features
This application is been developed in my free time for personal use, some future features that will be added are
- 100% test coverage. (See the progress here)
- Settings page for custom theme and user configuration.
- Projects or tasks page.
Contribution
If you have a suggestion or would to contribute feel free to contact me, fill an issue or make a pull request :).