srujanr40 / dogfish

CPSC 455 Project
3 stars 0 forks source link

Database setup #32

Closed rkelly123 closed 1 year ago

rkelly123 commented 1 year ago

All workflows work as expected, so should be no regression.

I've completely updated our session and profile use cases to be using MongoDB. I've also included DB functions for certain things we don't have functionality for yet, like adding profiles and updating sessions, assuming we'll eventually include those things. Basically just made basic CRUD for each of them.

Profile: For get profile, I am currently hard selecting for Taqdeer. With a login page, this should be changed to get the profile of the entered username. On success, load app and store profile, on failure, say incorrect username.

Sessions: We only show those sessions on the dashboard that we have not joined. I added the logic for automatically joining a session that we create in the create session component, but since for testing purposes it's better that we can actually see the sessions we've created ourselves, I've commented out this functionality. I did add some sessions that 'Taqdeer' is a member of, and they are being filtered out as expected. I added all the example sessions we had to the database exactly as they were made before, except had to change the dates due to the new validation.

I left the Chat out of the database because I'm assuming it'll change and is not worth the effort in its current form.

Warning When testing different workflows, make sure you change profile name back to Taqdeer before finishing, or app will be broken. Also, we have no delete session, and all created sessions are now persisted in database, so be prepared for any session you create to be visible by all of us. Lastly, make sure you npm install in the server folder again to run these changes. Additionally, you need a .env file with the variables I've shared in the slack channel. Make sure you don't commit the .env file to github.