shellyalmo / secret_santa_manager_app

A MERN Stack App for playing and managing Secret Santa games

Home Page:https://secret-santa-manager-react.onrender.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Secret Santa Manager App

Final Project on Appleseeds Fullstack Bootcamp

image

This Fullstack App allows users to participate in Secret Santa games, by viewing their gift receiver and getting customized gift ideas from OpenAI's ChatGPT model 3.5.

Users can also perform admin actions such as:

  • Create a new game
  • Choose the game's theme. Supported holidays include Christmas, Purim and Eid Al-Fitr.
  • Keep track of participants list and their progress in the game.

Built With

Frontend:

  • React
  • Vite
  • Axios
  • Ant Design
  • react-confetti
  • react-router

Backend:

  • Node.js
  • MongoDB
  • mongoose
  • Express
  • JWT
  • openAI

Getting Started

To get started, you'll need Node.js installed on your local machine and a MongoDB Atlas account. You'll also need a config.env file with the required environment variables.

Environment Variables

Create a config.env file in the config folder and add the following environment variables:

NODE_ENV=development
PORT=5000
MONGO_URI=your_mongodb_connection_string
FILE_UPLOAD_PATH= ./public/uploads
UPLOADS_FOLDER= /uploads
MAX_FILE_SIZE=1000000
JWT_SECRET=your_jwt_secret
JWT_EXPIRE=30d
JWT_COOKIE_EXPIRE=30
OPENAI_API_KEY=your_openai_key

Installing Dependencies

Install the required dependencies by running the following command:

npm install

Starting the Server

Start the server by running on the terminal from the server directory:

npm run dev

Start running vite locally by running on the terminal from the client directory:

npm run dev

Usage

  • After login, the user sees their dashboard of games where they can create a new game, join an existing game or enter previous games: image
  • When the game has started, the user can submit a description of their gift receiver and get gift suggestions on real time: image
  • Admins can keep track of the participants progress in the game and assign pairs: image

Contact

Shelly Almoznino - LinkedIn

Project Link: secret_santa_manager_app

About

A MERN Stack App for playing and managing Secret Santa games

https://secret-santa-manager-react.onrender.com/


Languages

Language:JavaScript 90.5%Language:CSS 8.9%Language:HTML 0.6%