You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+90-41Lines changed: 90 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,6 +48,12 @@
48
48
49
49
<br>
50
50
51
+
Have you ever wanted to implement a chat in your application? Do you think it's difficult and complex?
52
+
53
+
Try this, thanks to the magnificent [Supabase](https://supabase.com/) platform and the [Flutter Chat UI](https://pub.dev/packages/flutter_chat_ui) package, you can achieve it in just a few minutes and effortlessly.
54
+
55
+
---
56
+
51
57
Flyer Chat is a platform for creating in-app chat experiences using Flutter or [React Native](https://github.com/flyerhq/react-native-supabase-chat-core). This repository contains Supabase BaaS implementation for Flutter. We are also working on our more advanced SaaS and self-hosted solutions.
52
58
53
59
***Free, open-source and community-driven**. We offer no paid plugins and strive to create an easy-to-use, almost drop-in chat experience for any application. Contributions are more than welcome! Please read our [Contributing Guide](CONTRIBUTING.md).
@@ -64,6 +70,38 @@ The example project that you find in the package repository allows you to have a
64
70
65
71
`Dart >=2.19.0` and `Flutter >=3.0.0`, [Supabase](https://supabase.com) project.
7. Insert a secure password for new Postgres database (Save this in a secure location)
92
+
8. Obtain your `REFERENCE ID` (After command select your project, for example `demo-chat`):
93
+
94
+
```bash
95
+
supabase projects list
96
+
```
97
+
98
+
9. Obtain your `anon` key (After command select your project, for example `demo-chat`):
99
+
100
+
```bash
101
+
supabase projects api-keys
102
+
```
103
+
10. Edit `example project` file `example/lib/supabase_options.dart`, insert your project `{{your_project_reference_id}}` and `{{supabase_anon_key}}`
104
+
67
105
#### Prepare Supabase project
68
106
69
107
Inside the example project (`example/utils`) there is a script, running the latter will automatically configure the Supabase project, creating tables, security rules, buckets and everything that is necessary for the example project to function.
@@ -76,14 +114,16 @@ In order to run the script you need to be aware of the following information abo
76
114
-`user` : Database user
77
115
-`password` : Database password
78
116
79
-
This information, with the exception of the password which is provided only during the creation of the database (if necessary, you can use the password reset function of your database to obtain it), can be found very easily from the Dashboard of your Supabase project:
117
+
This information, except the password which is provided only during the creation of the database (if necessary, you can use the password reset function of your database to obtain it), can be found very easily from the Dashboard of your Supabase project:
Read our [documentation](https://flutter-supabase-chat-core.insideapp.it) or see the [example](https://github.com/insideapp-srl/flutter_supabase_chat_core/tree/main/example) project. To run the example project you need to have your own [Supabase](https://supabase.com/dashboard/projects) project and then follow [Add Supabase to your Flutter app](https://supabase.com/docs/reference/dart/initializing), override `example/lib/supabase_options.dart`, don't commit it though 😉
106
-
107
-
After all of this is done you will need to register a couple of users and the example app will automatically suggest email and password on the register screen, default password is `Qawsed1-`. To set up [Supabase Security Rules](https://supabase.com/docs/guides/database/postgres/row-level-security) so users can see only the data they should see, continue with our [documentation](https://flutter-supabase-chat-core.insideapp.it/).
108
-
109
-
## Contributing
145
+
Optional (**Only for test**): Disable email verification and save the configuration (To speed up testing and allow user registration in just one click, it is advisable to disable mailbox verification):
110
146
111
-
Please read our [Contributing Guide](CONTRIBUTING.md) before submitting a pull request to the project.
Flyer Chat has adopted the [Contributor Covenant](https://www.contributor-covenant.org) as its Code of Conduct, and we expect project participants to adhere to it. Please read [the full text](CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
116
-
117
-
## License
118
-
119
-
Licensed under the [Apache License, Version 2.0](LICENSE)
120
-
121
-
## Example project progress
122
-
123
-
Below are the features implemented for each platform:
149
+
Read our [documentation](https://flutter-supabase-chat-core.insideapp.it) or see the [example](https://github.com/insideapp-srl/flutter_supabase_chat_core/tree/main/example) project. To run the example project you need to have your own [Supabase](https://supabase.com/dashboard/projects) project and then follow [Add Supabase to your Flutter app](https://supabase.com/docs/reference/dart/initializing), override `example/lib/supabase_options.dart`, don't commit it though 😉
124
150
125
-
| Feature | Web | Android | iOS | Windows | macOS | Linux |
After all of this is done you will need to register a couple of users and the example app will automatically suggest email and password on the register screen, default password is `Qawsed1-`. To set up [Supabase Security Rules](https://supabase.com/docs/guides/database/postgres/row-level-security) so users can see only the data they should see, continue with our [documentation](https://flutter-supabase-chat-core.insideapp.it/).
139
152
140
153
## RLS (Row level security)
141
154
@@ -180,15 +193,51 @@ The preparation script automatically configures the security rules on the databa
180
193
-`UPDATE` : Only the user himself.
181
194
-`DELETE` : Only the user himself.
182
195
196
+
## Contributing
197
+
198
+
Please read our [Contributing Guide](CONTRIBUTING.md) before submitting a pull request to the project.
199
+
200
+
## Code of Conduct
201
+
202
+
Flyer Chat has adopted the [Contributor Covenant](https://www.contributor-covenant.org) as its Code of Conduct, and we expect project participants to adhere to it. Please read [the full text](CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
203
+
204
+
## License
205
+
206
+
Licensed under the [Apache License, Version 2.0](LICENSE)
207
+
208
+
## Example project progress
209
+
210
+
Below are the features implemented for each platform:
211
+
212
+
| Feature | Web | Android | iOS | Windows | macOS | Linux |
Below are some activities to complete to have a more complete and optimized project also for use cases in larger projects.
186
236
187
-
1. Check the correct functioning of the RLS security rules
188
-
2. Add the missing triggers
189
-
3. Optimization of the join of users who are part of a chat room. At the moment every time you want to get a chat room a SELECT is performed to get the users of the chat room. It does not perform as the chat rooms or users present in them grow.
190
-
4. Error handling
191
-
5. Chat room groups
192
-
6. Chat room channels
193
-
7. Sending audio messages
194
-
8. Improve documentation
237
+
1. Add the missing triggers
238
+
2. Optimization of the join of users who are part of a chat room. At the moment every time you want to get a chat room a SELECT is performed to get the users of the chat room. It does not perform as the chat rooms or users present in them grow.
Copy file name to clipboardExpand all lines: doc/docs/introduction/supabase-overview.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,12 @@ title: Overview
4
4
slug: /
5
5
---
6
6
7
+
Have you ever wanted to implement a chat in your application? Do you think it's difficult and complex?
8
+
9
+
Try this, thanks to the magnificent [Supabase](https://supabase.com/) platform and the [Flutter Chat UI](https://pub.dev/packages/flutter_chat_ui) package, you can achieve it in just a few minutes and effortlessly.
10
+
11
+
---
12
+
7
13
Flyer Chat is a platform for creating in-app chat experiences using Flutter or React Native. This is the documentation for Supabase BaaS implementation for Flutter.
7. Insert a secure password for new Postgres database (Save this in a secure location)
25
+
8. Obtain your `REFERENCE ID` (After command select your project, for example `demo-chat`):
26
+
27
+
```bash
28
+
supabase projects list
29
+
```
30
+
31
+
9. Obtain your `anon` key (After command select your project, for example `demo-chat`):
32
+
33
+
```bash
34
+
supabase projects api-keys
35
+
```
36
+
10. Edit `example project` file `example/lib/supabase_options.dart`, insert your project `{{your_project_reference_id}}` and `{{supabase_anon_key}}`
37
+
38
+
#### Prepare Supabase project
39
+
6
40
Inside the example project (`example/utils`) there is a script, running the latter will automatically configure the Supabase project, creating tables, security rules, buckets and everything that is necessary for the example project to function.
7
41
8
42
In order to run the script you need to be aware of the following information about your Supabase project:
@@ -15,12 +49,14 @@ In order to run the script you need to be aware of the following information abo
15
49
16
50
This information, with the exception of the password which is provided only during the creation of the database (if necessary, you can use the password reset function of your database to obtain it), can be found very easily from the Dashboard of your Supabase project:
after running the database preparation script. you need to change the database schema exposure setting by adding the `chats` schema (from the supabase dashboard):
Optional (**Only for test**): Disable email verification and save the configuration (To speed up testing and allow user registration in just one click, it is advisable to disable mailbox verification):
Read our [documentation](https://flutter-supabase-chat-core.insideapp.it) or see the [example](https://github.com/insideapp-srl/flutter_supabase_chat_core/tree/main/example) project. To run the example project you need to have your own [Supabase](https://supabase.com/dashboard/projects) project and then follow [Add Supabase to your Flutter app](https://supabase.com/docs/reference/dart/initializing), override `example/lib/supabase_options.dart`, don't commit it though 😉
84
+
85
+
After all of this is done you will need to register a couple of users and the example app will automatically suggest email and password on the register screen, default password is `Qawsed1-`. To set up [Supabase Security Rules](https://supabase.com/docs/guides/database/postgres/row-level-security) so users can see only the data they should see, continue with our [documentation](https://flutter-supabase-chat-core.insideapp.it/).
0 commit comments