This project is a Python-based solution for managing and assigning Secret Santa participants. The program allows you to upload employee data and previous Secret Santa assignments, then generates new assignments ensuring that participants don't get the same person they had in previous years.
- Employee Management: Add and manage employee data.
- Previous Assignment Handling: Load and consider previous Secret Santa pairings.
- Random Assignment: Generates new Secret Santa assignments randomly while avoiding repeats.
- File Upload: Supports
.xls
,.xlsx
, and.csv
file formats. - Output: Generates a new Secret Santa assignment list and provides it as a downloadable file.
- Python 3.8 or higher
- pip (Python package manager)
-
Clone the Repository:
git clone https://github.com/Anandha001/Secret-Santa.git cd SECRET-SANTA
To isolate your project and manage dependencies, it is recommended to set up a virtual environment.
-
Create the Virtual Environment:
Use the following command to create a virtual environment named
env
:python3 -m venv env
-
Activate the Virtual Environment:
-
On macOS/Linux:
source env/bin/activate
- On Windows:
.\env\Scripts\activate
-
-
Install Dependencies:
Once the virtual environment is activated, install the required dependencies using the following command:
pip install -r requirements.txt
To run the Secret Santa assignment tool, follow these steps:
-
Start the FastAPI Server:
Use the following command to start the FastAPI application locally:
uvicorn main:app --reload