Open jaswantsandhu opened 2 months ago
Hello @ekas will do but be needing some help
what are requirements ? Components you might wanna add any specific direction you want to give about what the database should contain in MongoDb ui of signin/signup page
thank you!
Hello @ekas will do but be needing some help
what are requirements ? Components you might wanna add any specific direction you want to give about what the database should contain in MongoDb ui of signin/signup page
thank you!
Hey @akshat99812 , have you checked the description? @jaswantsandhu has added requirements in that.
I would suggest you before you move ahead with code or ui of signin/signup page can you share the design of the DB?
we will work in collaboration to discuss the design of the DB.
@Neha Ya sure , here 's a high level of what I think schema should be
1.User Model:
2.Speaker Model:
3.Meetups Model:
userId: The ID of the user who is associated with this meetup.
Is there any changes you want
@Neha Ya sure , here 's a high level of what I think schema should be
1.User Model:
- id
- email: unique
- name
- number
- password
- meetups
2.Speaker Model:
- id
- email: The speaker's email, which must be unique.
- name
- password
3.Meetups Model:
- id
- meetup: name or label of the meetup
- userId: The ID of the user who is associated with this meetup.
Is there any changes you want
This is a good start but it is missing a lot of details.
Eg:
user model: what would be the role? why we need number and email both? can we do just one? do we need location? (as we are multi city and country based)
speaker:
speaker could be speaker at multiple meetups speaker location feedback meetup list resources ( ppt, code repos as per the meetups) speaker's bio, pics
Meetups:
location how many attendees visibility, etc.
It would be better to think more on it.
Could you please take a look
1.Users Table
user_id (Primary Key) name email (Unique) password_hash role (e.g., attendee, speaker, admin) city country created_at updated_at
2.Speakers Table
speaker_id (Primary Key) user_id (Foreign Key to Users table) bio profile_picture_url location
3.Meetups Table
meetup_id (Primary Key) title description location date visibility (e.g., public, private) created_at updated_at
4.Speaker_Meetup Table (Many-to-Many relationship between Speakers and Meetups)
speaker_meetup_id (Primary Key) speaker_id (Foreign Key to Speakers table) meetup_id (Foreign Key to Meetups table)
5.Feedback Table
feedback_id (Primary Key) user_id (Foreign Key to Users table) meetup_id (Foreign Key to Meetups table) rating comments created_at
6.Resources Table
resource_id (Primary Key) meetup_id (Foreign Key to Meetups table) resource_type (e.g., ppt, code repo) resource_url created_at
what types of roles to assume in users table Could you kindly review the proposed schema and provide any feedback or suggestions for improvement?
Thank you for your contribution.
Can you please explain how everything is connected? How the data will flow between them? For user role, as a schema designer and based on your experience what roles we should have and what access should be give to them?
I still feel there is lot of work and brainstorming is required.
As of now, I have started a discussion here: https://github.com/jslovers/jslovers-official-website/discussions/68. This would be the place where I keep updating the schema design. Please feel free to share your inputs.
Just added db schema design in the discussion section could you please review.
Any updates?
There is no update on this. I would request you to keep an eye on discussion. Discussion will be updated whenever there is any update. For now, I have locked this conversation. to avoid adding more comments here
As a Speaker, I should be able to create an account or login in JSLovers website and see my profile. As an Attendee, I should be able to create an account or login in JSLovers website, see my profile, and sign up for meetups. As a Meetup Organizer, I should be able to create an account or login in JSLovers website, see my profile, and create and manage meetups, add speaker roles for that meetup and fetch list of attendees and should be able broadcast communication messages to attendees. As an Admin, I should be able to login in JSLovers website as Admin, create and manage, delete meetups, add meetup-organizer roles or remove them.
New Features to built