Activity Recommender CLI (ARC) recommends group activities based on user preferences. Multiple users input keywords representing their interests, which are processed using word embeddings to suggest activities matching the group's preferences.
graph TD
A[Start] --> B[Load GloVe Embeddings]
B -->|Store in HashMap| C[Load Activities from CSV]
C -->|Parse Tags| D[Calculate Activity Vectors]
D -->|Average Tag Embeddings| E[User Input: Group Size]
E --> F[Collect Preferences for Each Person]
F -->|Space-separated Keywords| G[Process Keywords]
G -->|Lowercase, Remove Punctuation| H[Find Embeddings for Keywords]
H -->|Handle Compound Words| I[Sum Valid Embeddings]
I -->|Average for Group Vector| J[Compare Group Vector with Activity Vectors]
J -->|Cosine Similarity| K[Select Top 3 Activities]
K --> L[Display Recommendations]
L --> M[Prompt: 'start' or 'quit']
M -->|start| E
M -->|quit| N[Cleanup and Exit]
git clone https://github.com/Sabique-Islam/Activity-Recommender-CLI
cd Activity-Recommender-CLI- Click Here to Download GloVe Embeddings
- Extract the zip
- Move
glove.6B.300d.txtinto thedata/directory
make
./arcgcc -o arc search.c src/utils.c src/colors.c src/embeddings.c src/activities.c -lm
./arcdocker build -t arc:latest .docker run -it --name arc-container \
-v ./data:/app/data \
arc:latestThis mounts the local data folder to the container, which should contain the required files: glove.6B.300d.txt and activities.csv.
# Build and run with Make
./Shell-Scripts/Make-Command.sh
# Build and run with Docker (includes make compilation)
./Shell-Scripts/Docker.sh
# Delete Docker container
./Shell-Scripts/Delete-Container.shMake sure to set execute permissions on the scripts:
chmod +x Shell-Scripts/*.shNote: Running Docker automatically compiles the code during image building, so no need to run Make separately before Docker.
