Author: Alvin He
Vanderbilt Email: alvin.t.he@vanderbilt.edu
GOOSE is a full-stack social media application built with a React frontend and a Node.js + Express backend, using MongoDB for persistence. It includes user authentication, posting, and media upload support (Cloudinary).
- Node.js (LTS recommended)
- MongoDB connection (local instance or cloud-hosted like MongoDB Atlas)
- (Optional) Cloudinary account for image uploads
git clone <repo_url>
cd <repo_folder>cd server
npm install
npm run devThe server will run on http://localhost:3000
Open a new terminal window:
cd client
npm install
npm run devThe client will run on http://localhost:5173
VITE_API_URL=http://localhost:3000/api
PORT=3000
MONGO_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
Note: The .env files are included with this submission with working credentials.
This coding challenge was very difficult because it was my first time doing full-stack development. I felt that MongoDB and the API requests were pretty easy to understand, but I didn't expect the frontend to take as long as it did. The most challenging aspect was debugging and making sure that the user authentication was always working when it needed to.