womenbuildweb3 / grants

Help build web3!
0 stars 1 forks source link

[BUIDL '22] Rally #2

Open naomiHauret opened 2 years ago

naomiHauret commented 2 years ago

Rally

Name of Project: Rally

Proposer: @naomiHauret

Do you agree to Encode Club's Terms and Conditions?: Yes

Do you agree to the grant process outlined by WBW3?: Yes

Project Description

Social audio applications are platforms where users interact with their voice in real time (for instance Spotify Live, Discord Stage, Zoom, Twitter Space...). Currently, web3 communities rely heavily on those platforms for both their day-to-day communication and important one-time events. The problem: Social audio apps don’t offer the best user experience possible to web3 communities. All current social audio apps lack of one of the following features :

This is why we want to build Rally, the go to social audio app for DAOs and web3 enthusiasts when they want to make announcements, learn, discuss, debate, share, or just chill together.

Rally will be a web application at the cross-road of web2 and web3, a social audio platform that will not only allow users to create live audio chats, but also easily onboard entire communities, and provide users a secure online experience where they are in total control of what they publish, who can access it, how, and when.

Tech Stack

Development Roadmap

Milestone 1

Number Deliverable Specification
1. Survey on the usage of social audio apps by web3 enthusiasts and web3 communities A survey used to gather information on if and how web3 users use social audio apps as a single users, if they find them useful or not, what are their pain points, what they like, what they would want to see, and the same questions but within a web3 community
2. Product requirements document A document that defines the requirements of a Rally. It describes extensively its purpose, features, functionality, and behavior. It serves as a guide for business and technical teams to help build, launch, or market the product.

Milestone 2

Number Deliverable Specification
1. First version of the smart contract deployed to Mumbai testnet A smart contract that will allow users to create audio chats on the blockchain.
2. Front-end: connect wallet UI As a user, when I access the website, I should be able to connect my wallet
3. Front-end: page "Create audio chat" As a user with their wallet connected to Mumbai testnet, I should be able to create an audio chat on the blockchain by using a form. The data of this audio chat will be stored in a JSON that will be uploaded to IPFS via web3.storage ; the CID will be stored in the blockchain.
4. Front-end: page "Audio chat" As a user, I should be able to display the information of an audio chat in the audio chat page
5. Front-end: page "Profile" As a connected user, I should be able to display the audio chats I created

Milestone 3

Number Deliverable Specification
1. 2nd version of the smart contract deployed to Mumbai testnet A smart contract that will allow the creator of an audio chat to: update its metadata, update its state, or delete the audio chat
2. Front-end: page "Update audio chat" As the creator of an audio chat, I should be able to update its information/state by using a form.
3. Front-end: modal "Delete audio chat" As the creator of an audio chat, I should be able to delete an audio chat from the audio chat page or from the list of audio chats I created via a modal with a button "Delete this audio chat".

Milestone 4

Number Deliverable Specification
1. Front-end: page "Audio chat" * On the page of an audio chat with the state PLANNED, its creator should be able to open the room to other participants by clicking on a button "Start live"
2. Front-end: page "Audio chat" / other users On the page of an audio chat with the state PLANNED or LIVE, unallowed users should see a message You can't access this chat ; Allowed users should see a button Join chat and an indication Your microphone will be muted when you join the room. Users should be able to indicate if they want to use a pseudonym, or if they want to use their Lens profile.
3. Front-end: page "Audio chat" On the page of an audio chat with the state LIVE, allowed users should see the list of speakers and should be able to hear the ongoing live conversation
4. Front-end: page "Audio chat" / listeners On the page of an audio chat with the state LIVE, allowed users with the role listener should be able to raise their hand to ask to be granted the role of speaker
5. Front-end: page "Audio chat" / moderators On the page of an audio chat with the state LIVE, allowed users with the role moderator should be able to assign the role speaker to a user with the role listener in this room and listener to a speaker ; moderator should also be able to mute a speaker and kick any other user from the room
6. Front-end: page "Audio chat" / allowed users with the role speaker and moderator users with the role speaker and moderator

should be able to control mute/unmute themselves | 6. | Front-end: page "Audio chat" | * On the page of an audio chat with the state LIVE, its creator should be able to close the room. Closing the room will finish the live session and kick out all users from the room

Milestone 5

Number Deliverable Specification
1. Page "Profile" Connected users should pick what topics interest them. Users should be able to update this at any moment. This will be stored in a MySQL database and encrypted using Lit Protocol so that only the user will be allowed to see this data decrypted. Other possible implementation would rely on Ceramic OR Warp OR EXM

Milestone 6

Number Deliverable Specification
1. Subgraph Deployed subgraph that will allow the user to query audio chats by: topic, date,
2. Front-end: Home page Users should be able to see public live events on the home page and search events by hashtag/keyword (= query the subgraph)
3. Front-end: Home page Users should be able to see events that match their interests in priority in the home page

Milestone 7

Number Deliverable Specification
1. Front-end : page publish recording /audio-chat/[idAudioChat]/recording/new ; Creators with the should be able to publish a recording associated to the audio chat and set the rules who can access this recording
2. Front-end: page /audio-chat/[idAudioChat]/recording/[idRecording] ; Allowed users should be able to access the recording of an audio chat, play it and pause it
3. Front-end: page /audio-chat/[idAudioChat]/recording/[idRecording] ; Allowed users should be able to comment on the recording of an audio chat

Total Budget Requested

7645 $ USD

Project Links

Knowledge Base GitHub organization GitHub repository Twitter

Website (alpha)

Team Members

naomiHauret commented 2 years ago

Milestone 1: reached https://naomihauret.notion.site/Product-development-requirements-c93ba37ab7254261a9d3c726c9b0176d

naomiHauret commented 2 years ago

Milestone 2: reached https://github.com/rallydotfm/rally/issues/1 Video

naomiHauret commented 2 years ago

Milestone 3: reached https://github.com/rallydotfm/rally/issues/4 Video

naomiHauret commented 2 years ago

Milestone 4: reached https://github.com/rallydotfm/rally/pull/9 Rally