JournalJams is a web application that allow users to input their journal entries. Based off of their entries, a user is given a playlist according to their mood. Users can also add friends and view their friend's entries and profile. Users can comment on posts and upvote or downvote comments. JournalJams also has a chat feature where users can join chat rooms and live chat with other users in the same room.
- User can set an About Me status
- User can set their Birthday
- User can change their password
- User can Sign Up with Dual Factor Authentication by email confirmation
- User must log in with valid email and password
- User can comment on their own entries and their friend's entries
- User can upvote or downvote comments on their own entries or their friend's entries
- Uses MongoDB
- Holds:
- User information
- User entries
- User comments
- User friends
- User mood
- User can add and remove friends by their email
- Users can talk to each other in a chatroom
- User is recommended based on the mood of their entry
- Run "npm start" in the journaljams-app folder in one terminal
- Run "npx nodemon src/server/server.js" in the journaljams-app folder in another terminal;
- Access "http://localhost:3000"
- Comments:
- Entry ID
- Comments
- User
- Comment
- Rating
- Entries
- User
- Title
- Text
- Mood
- Friends
- Friends
- Messages
- Room
- Messages
- User
- Message
- Rooms
- User
- Rooms
- User
- Birthday
- About Me
Jason Lo: Completed user authentication with dual factor authentication requiring email verification. Implemented Login and Sign Up functionality. Implemented user profiling with birthday, about me, and change password attributes. Worked together with groupmates to implement chat room features. Connected MongoDB database messaging feature. Implemented friends page and corresponding database. Designed front end of web application.
Lizbeth Areizaga: Collaborated on initial set up of the website. Initial set up of MongoDB database and connection with backend and frontend components. Worked together with groupmates to implement chat room features. Implemented display of entries and fetching entries from the database. Implemented comments functionality including sending and fetching comments from the database and upvoting and downvoting on comments.
Nathan Kong: Collaborated on initial set up of the website. Implemented a language model that predicts the mood of given text in order to be integrated with our web application. Attempted to work with Spotify API, and after an assessment, chose to manually return playlist from preset array of songs. Integrated language model with fetching entries from MongoDB to assign a playlist for every newly created entry based on its predicted mood. Worked together with groupmates to implement chat room features.
