RendeYou is a MERN Stack full stack web application that connects users with an emphasis on immediate meetups with friends.
To check a currently deployed version of RendeYou, please visit https://rendeyou.bliu.tech.
Note: It is recommended you run RendeYou either on Chrome or Firefox. Running this web app on Safari is undefined behavior.
- Friending Other Users: The app allows users to add friends, and those friends' events will automatically appear on the user's home page. This allows users to not be inundated with irrelevant events from strangers.
- Notifications: We created a Chrome extension to our app that users can optionally install. It pushes notifications through the browser, so the user can be notified of events even while away from our site.
- Location Suggestions: On our event creation page, we used an input widget which integrates with Google Maps to suggest specific addresses based on the user's input to make it easier to write locations.
- Friend Suggestions: Our app displays a list of the user's friends' friends to make it easier to make connections. Once you have at least one friend, finding new friends becomes a simple matter of clicking some buttons instead of manually typing their username into the search bar.
In order to run a local instance of RendeYou, first clone or download a copy of this repository. Follow the instructions below to initialize a local instance of each part of the application.
To setup the dependencies for the backend server, run:
cd backend
npm install
which should download a set of node_modules
for the backend server.
Main backend dependencies:
- Express.js - the web server library which powers everything
- Mongoose - an object-document mapping library for MongoDB
Create a .env
file in the backend folder with the following contents:
DB_URL=mongodb+srv://jason:[email protected]
DB_NAME=RendeYou_test_<YOUR NAME HERE>
SESSION_SECRET=abcd1234
ENV=dev
PORT=8000
CHECK_PERIOD_MIN=120
SESSION_LIFETIME_MIN=60
Important: write your name at the end of DB_NAME
(e.g. I have RendeYou_test_jason
). This way, we can have separate testing databases.
The SESSION_SECRET
value can be anything you want (for testing purposes). If you want to generate a proper secret key, run:
openssl rand -hex 64
This line:
ENV=dev
controls backend settings such as allowed frontend origins.
cd backend
npm start
The backend server will be available on http://localhost:8000. The root document will display a bare-bones testing page.
To setup the dependencies for the frontend application, run:
cd frontend
npm install
which should download a set of node_modules
for the backend server.
Main frontend dependencies:
- React.js
- react-router-dom - simulates paths for different pages
If you are testing the frontend with a local instance of the backend, run this command from the project root:
sed -i 's/ENV: "production"/ENV: "dev"/' frontend/src/settings.js
This will ensure that the frontend is configured to use the local backend, instead of our hosted backend (which will not allow your local frontend to connect).
To start the frontend application, run:
cd frontend
npm start
The frontend will be available on http://localhost:3000, which should appear in your browser automatically.
The Extras page (https://rendeyou.bliu.tech/#/extras) contains the zip file for the Chrome extension. Open Chrome and navigate to chrome://extensions
. Turn on developer mode at the top right of the screen, and click on "Load Unpacked" in the toolbar that should have just displayed. Navigate inside the "Load Unpacked" navigation filesystem to you unzipped file fo the extension and select the dist
folder inside to load into Chrome. If you click on your Chrome extensions, the RendeYou extension should be there for you to login and use.
RendeYou was made as a project for CS 35L taught by Professor Paul Eggert at UCLA in Winter 2022. Made by: Benson Liu, Connor Pedersen, Jason Cheng, Ming Zhu, & Rishab Khurana.