Capy
CS35L - Software Construction Final Project
Capy is a social media application where users post events that they are hosting so that others at UCLA can “pull up” to them!
This app was developed for the final project in the Spring 2024 section of CS 35L - Software Construction.
This is the main page of the application. Here, users can view all of the events on the platform, and if they are authenticated, they can like events, add comments, and "pull up" to them!
This is a modal view of each event where users can see comments as well as a list of users that are RSVPed, as well as comments on the event.
We utilized a simple database structure with MongoDB for two models (users and events).
const userSchema = new mongoose.Schema({
username: String,
password: String,
email: String,
profilePicture: Buffer,
friends: [{ type: String }],
myEvents: [{ type: String }],
signedUpEvents: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Event'}],
createdEvents: [{type: mongoose.Schema.Types.ObjectId, ref: 'Event' }],
});
const commentSchema = new mongoose.Schema({
user: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
text: {type: String}
});
const eventSchema = new mongoose.Schema({
user: String,
title: String,
location: String,
date: Date,
description: String,
datePosted: Date,
eventImage: Buffer,
usersGoing: [{ type: String }],
usersLiked: [{ type: String }],
comments: [commentSchema]
});