aossie-org / resonate Goto Github PK
View Code? Open in Web Editor NEWClubhouse, but Open Source. A social voice platform.
License: GNU General Public License v3.0
Clubhouse, but Open Source. A social voice platform.
License: GNU General Public License v3.0
Form validation had to be added to login and signup forms.
We have decided to migrate our project's backend infrastructure from Firebase to Appwrite. This issue serves as a central point to track the progress, discuss challenges, and coordinate the migration process.
Create an ApiService class inside the services folder which has methods to talk to Resonate's backend API.
Add instructions to setup Appwrite according to our project. Update the readme file.
Implement deep linking to share rooms using links on other platforms.
I am currently working on this issue setting the placeholder image as the profile picture of the user incase of no image provided by user can also implement to set different placeholders specific to Gender if required..
As of now, there is just a simple signup page asking for email address and the password. We have to add a form to collect basic user details like name, profile pic etc.
Edit profile screen would allow the user to edit their username, display name, email and profile Image
This screen might also have a delete account option for now would navigate it to a settings screen if generated in future
Hey @chandansgowda would like to work on it
Currently, we are storing user data filled by the user in onboarding screen in user's preferences. We will have to store it in user-data
database so that we can access it while creating single room screen with participants.
Onboarding screen is not appearing when a user signs up with Google.
Create a controller to manage LiveKit room using the methods provided by the LiveKit Client SDK for Flutter.
Previously, onboarding was taken care by profile controller. Since onboarding is a one time task, it will not be efficient to use it in profile controller which gets created every time the user uses the app or goes to profile screen.
Faced problem in displaying profile screen despite correct logic being implemented in the tab view screen
We will use Auth0 for authentication and authorization for users on the app.
Add SSO with Google
While debugging I had to create a lot of dummy accounts this led to a need of including a delete account Button in the profile screen allowing others to delete their account if required hence allowing other users to be able to use the username they were previously holding
Would like to work on it
Use tools like Figma or Sketch to design the wireframes.
State how you are going to build something like a Clubhouse or Twitter spaces.
A lot of questions. Research and come up with answers.
Currently, two users can use the same username. Hence, its required to develop a mechanism to check if the username is valid and not taken already. On firebase, this can be achieved by adding a usernames collection with usernames as document IDs and each document has a uid string containing the UID of the user linked to that username and developing a logic to implement it in the view.
Develop the landing or onboarding screen of the App. This is the first screen on opening the app.
Loading indicator has to be added for the following.
Make use of loading_animation_widget
package.
After signup, the user will get an onboarding form to fill. But it gets submitted even if the user doesnt fill any information.
Currently, the user joins the room with speaker role. Lets make it Listener role by default and then the user can raise hand to request speaker role for the room.
Structure the project using MVC design pattern
Create a RoomService Class and implement createRoom, JoinRoom, LeaveRoom and DeleteRoom methods. Make use of the API service class.
An Email verfication screen and logic needed while sign up to avoid users to enter false emails and to ensure the email entered belongs to them would implement OTP format to validate emails
This issue tracks the implementation of UI designs/views. We can work on improving the UI and add elements as and when required. For now, the following screens/widgets have to be implemented. Feel free to make improvements to the proposed design.
SignIn Screen | Signup Screen | User Onboarding |
---|---|---|
Rooms Screen | Create Room Popup | Single Room Screen |
---|---|---|
A loading animation for Resonate replacing the default flutter loading animation (splash screen which provides a loading animation when Resonate starts currently a default flutter loading animation is being shown would customize it for Resonate )
Would like to work on it
Since our goal as of now is just to develop app for Android and iOS, we can disable web and desktop-related things. This makes our projects a little cleaner and lighter.
Make sure to use conventional commit structure as follows:
<type>: <short summary>
│ │
│ └─⫸ Summary. Not capitalized. No period at the end.
│
└─⫸ Commit Type: docs|feat|fix|perf|refactor|test
Currently all participants are getting displayed in random order. Lets make it in order like first the Admin comes in, then the moderator, the speakers and then the listeners.
Use Getx for State Management, and create a directory structure for it.
This project only has a master branch which will be used for maintaining the releases. I think there is a need for a develop branch so that the main branch is unaffected even if there are some breaking changes in the develop branch.
Refer to this:
Also, let us set up a contributing guidelines file.
Currently when the app restarts, we get to see the login screen for a second or so even if we are logged in. This leads to bad user experience. A better approach is to have a splash screen until the authentication controller checks if the user is already logged in and then navigate accordingly.
An app logo icon I believe is needed for Resonate along with its design needs to be finalized I believe it would differ from the AOISSIE-Org logo.
Currently being the default flutter logo, after finalizing the logo the splash screen I believe might also have to be updated the finalized logo being at the center with the organizations logo being at bottom center
Keeping in mind the colour scheme used by AOSSIE's website, design a basic minimalistic logo and app icon.
A new Readme file should be created for this repo explaining the tech stack, mentors details ...
Currently, if the password is incorrect the error is being catched but the user is not getting any feedback on the frontend saying that the password was invalid. This has to be added to improve the user experience.
There's a scenario wherein
This has to be fixed.
Implement WebRTC SDK and test out multi-user audio comms.
Changes are being made to the API to use user's UID rather than userEmail for creating and joining rooms. Hence we have to replace API calls from userEmail to appwrite UID.
Currently, we are just uploading the image selected by user to firebase without any compression. This feature has no size limit too. It would be better to limit the image size to 100kb and/or compress it before uploading to firebase storage.
We can make use of the imageQuality parameter in the image_picker's pickImage method.
We can discuss more on the size limit if required.
A default profile image should be used if the user doesn't upload an image of his own.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.