Closed BrianSo closed 7 years ago
I think we can store the user data on the database and firebase got a unique uid for each account in the Authentication page. We can store the data as the following photo. For the other part, we may need to have a meeting to discuss deeply.
@BrianSo why is there no radar attribute in the user schema for storing individual skill set?
I think we can store the user data on the database and firebase got a unique uid for each account in the Authentication page
Do you mean the firebase built in authentication or the authentication implemented by us?
@narwhlae
why is there no radar attribute in the user schema for storing individual skill set?
Radar data is stored under member which depends on different events. See schema change no. 2 as quoted.
2.added radar data: the radar labels are input by the event organizer and the label values are input by the members. (this change is reference to issue #8 )
@BrianSo I have question about the view implementation of displaying radar chart, since each member can have their own radar chart, shouldn't there be some sort of profile page for the user for viewing? or can you show me a rough draft of user interface on display radar chart
@BrianSo the firebase built in authentication
So the built in authentication will return a uid?
yes
the newer revision of changes for firebase database schema is as follow, approved and await for implemenations
root
eventList
ref(../events/:eventId) : String (eg hackUST)
events
:eventId
name : (eg hackUST)
description : String (eg A 24 hours Hackathon in HKUST)
adminPassword : md5(String)
radar
labels
:labelId : String (eg Android)
members
:memberId
user : ref(/users/:userId)
status: String (eg pending)
radar
skillLevels
ref(../../../../radar/labels/:labelId) : Number (eg 100)
teams
:teamId
name : String (eg BrianSo Studio)
description : String (eg Welcome to BrianSo Studio)
tags
:hash : String (eg Brian)
leader : ref(../../members/:memberId)
members
ref(../../../members/:memberId): String (eg clement)
requests
:requestId
member: ref(../../members/:memberId)
team: ref(../../teams/:teamId)
message : String (eg I want to join your team)
users
:userId
name : String (eg Brian)
schedule
intervals
:intervalId
start: Number (eg 0)
end: Number (eg 86400)
As users is merged with members, the schema should be as follow:
root
eventList
ref(../events/:eventId) : String (eg hackUST)
events
:eventId
name : (eg hackUST)
description : String (eg A 24 hours Hackathon in HKUST)
adminPassword : md5(String)
radar
labels
:labelId : String (eg Android)
members
:memberId
name : String (eg Brian)
status: String (eg pending)
schedule
intervals
:intervalId
start: Number (eg 0)
end: Number (eg 86400)
radar
skillLevels
ref(../../../../radar/labels/:labelId) : Number (eg 100)
teams
:teamId
name : String (eg BrianSo Studio)
description : String (eg Welcome to BrianSo Studio)
tags
:hash : String (eg Brian)
leader : ref(../../members/:memberId)
members
ref(../../../members/:memberId): String (eg clement)
requests
:requestId
member: ref(../../members/:memberId)
team: ref(../../teams/:teamId)
message : String (eg I want to join your team)
After discussing the user, events, and radar implementation. I want to make several changes to the current schema
The changes are:
@narwhlae Is it possible to change the data schema? How much of code depends on the schema now?
@narwhlae @clementf2b There is also one critical issue, how to store the user authentication data? It can be authenticated by both email/password or social login. Is firebase has builtin support? How could we reference the firebase currentUser to the data schema? So I can store the schedule data publicly.
Here is the schema I proposed
Here is the current schema