It's an application that allows you to chat with people around the world in your own language.
- Sign up/Login
- Enable to create account by using Supabase Auth.
- Create profile
- By using Supabase Storage, we can add a profile image.
- In addition to being able to confirm chats in real-time, messages are translated into the language set using Dart Edge.
- This is my first app to use Supabase. All of the features were entirely new to me.
- Making it possible to login seamlessly: with Flutter web, redirecting doesn't work well, and opening the confirmation URL results in logging in on a separate window. To create a more seamless login experience, I made it possible to automatically log in on the original window's application by listening to events via the Realtime Database.
- Translating using Dart Edge: to translate into my own language, I used Dart Edge to hit the OpenAI API and return the results to the app. I encountered a CORS issue with Flutter Web, but I was able to resolve it using the method described officially.
What I learned
- Basic functionality and usage of Supabase.
- The characteristics when using Flutter Web and Supabase in combination: ex. CORS, Confirmation URL
- Deep dive into CustomPaint for fluorescent light.