dpang commited on
Commit
1492d7f
Β·
verified Β·
1 Parent(s): 7b84343

Upload 2 files

Browse files
Files changed (2) hide show
  1. README.md +86 -141
  2. requirements.txt +2 -1
README.md CHANGED
@@ -1,66 +1,42 @@
1
- # Party Planner - Guest Table Arranger
 
 
 
 
 
 
 
 
 
2
 
3
- A web application that helps you organize your guest list into tables for networking events. The app accepts CSV file uploads with guest information and creates visual circular table arrangements showing where each person will be seated.
4
 
5
- ## Features
6
 
7
- - πŸ“ Easy CSV file upload with drag & drop support
8
- - πŸ“‹ Parse guest information from name and message columns
9
- - βœ… Interactive guest selection with checkboxes
10
- - 🎯 Smart table arrangement algorithm
11
- - 🎨 Visual circular table layouts with seating positions
12
- - πŸ“± Responsive design for mobile and desktop
13
- - 🎨 Modern, intuitive UI
14
 
15
- ## Prerequisites
 
 
 
 
 
16
 
17
- - Python 3.7 or higher
18
- - Web browser
19
 
20
- ## Installation
 
 
21
 
22
- 1. **Clone or download this repository**
23
- ```bash
24
- git clone <repository-url>
25
- cd LinkedInParty
26
- ```
27
 
28
- 2. **Install Python dependencies**
29
- ```bash
30
- pip install -r requirements.txt
31
- ```
32
 
33
- ## Usage
34
 
35
- 1. **Start the application**
36
- ```bash
37
- python3 app.py
38
- ```
39
-
40
- 2. **Open your browser**
41
- Navigate to `http://localhost:5000`
42
-
43
- 3. **Prepare your CSV file**
44
- Your CSV should have exactly 2 columns:
45
- - **First column**: guest names
46
- - **Second column**: descriptions, roles, or messages
47
-
48
- 4. **Upload your guest list**
49
- - Click "Upload Guest List" or drag and drop your CSV file
50
- - The app will parse and display up to 100 guests
51
-
52
- 5. **Select guests for your event**
53
- - Click on guest cards to select/deselect them
54
- - You can select up to 30 guests (3 tables Γ— 10 people)
55
- - The stats panel shows your selection progress
56
-
57
- 6. **Arrange tables**
58
- - Click "Arrange Tables" to automatically organize your selected guests
59
- - The app will create three visual circular tables
60
- - Each table shows seating positions with guest initials
61
- - Hover over seats to see full names and descriptions
62
-
63
- ## CSV Format Example
64
 
65
  ```csv
66
  name,message
@@ -71,112 +47,81 @@ Emily Davis,Data Scientist at AI Labs
71
  David Wilson,Product Manager at Innovation Inc
72
  ```
73
 
74
- ## Visual Table Layout
75
-
76
- The app creates beautiful circular table visualizations:
77
- - 🟒 **Green circles** represent individual seats
78
- - πŸ”΅ **Blue center** shows the table number
79
- - πŸ‘€ **Initials** displayed on each seat
80
- - πŸ’¬ **Hover tooltips** show full names and descriptions
81
- - 🎯 **Smart positioning** arranges seats evenly around the table
82
-
83
- ## How it Works
84
-
85
- ### CSV Processing
86
- - Supports multiple CSV delimiters (comma, semicolon, tab)
87
- - Automatically detects column headers
88
- - Reads first column for names and second column for descriptions
89
- - Handles various encoding formats
90
-
91
- ### Table Arrangement Algorithm
92
- The app uses a smart distribution algorithm:
93
- 1. Categorizes guests by industry/role type based on message content
94
- 2. Distributes major categories evenly across 3 tables
95
- 3. Ensures each table has a maximum of 10 people
96
- 4. Balances the number of people per table
97
-
98
- ### Smart Categorization
99
- Based on message content, guests are categorized as:
100
- - **Tech**: engineer, developer, programmer, software, tech, it, data, ai, ml, technology, scientist
101
- - **Business**: manager, director, ceo, founder, executive, business, strategy, operations, consultant, product
102
- - **Creative**: designer, creative, marketing, content, writer, artist, media, communications, strategist
103
- - **Sales**: sales, account, client, business development, partnership, account manager
104
- - **Finance**: finance, accounting, investment, banking, financial, analyst, cfo
105
  - **Other**: any roles not matching the above categories
106
 
107
- ### Visual Seating Layout
108
- - **Circular tables** with realistic seating arrangements
109
- - **Even distribution** of seats around each table
110
- - **Interactive elements** with hover effects
111
- - **Responsive design** that works on all devices
112
 
113
- ## Troubleshooting
 
 
 
 
114
 
115
- ### Common Issues
116
 
117
- 1. **CSV Format Problems**
118
- - Ensure your CSV has exactly 2 columns (name and message)
119
- - Check that the first column contains guest names
120
- - Verify the second column contains role descriptions
121
 
122
- 2. **File Upload Issues**
123
- - Make sure you're uploading a .csv file
124
- - Check that the file isn't corrupted or empty
125
- - Try a smaller file first to test the format
126
 
127
- 3. **Parsing Errors**
128
- - The app will try different delimiters automatically
129
- - If parsing fails, check your CSV format in a text editor
130
- - Ensure there are no special characters causing issues
 
131
 
132
- ### Performance Tips
 
 
 
133
 
134
- - The app can handle up to 100 guests efficiently
135
- - Larger files may take a moment to process
136
- - Keep your CSV file under 1MB for best performance
137
 
138
- ## Technical Details
 
 
 
 
139
 
140
- ### Backend (Flask)
141
- - `app.py`: Main Flask application with CSV processing
142
- - Uses Python's built-in CSV module for parsing
143
- - RESTful API endpoints for frontend communication
144
 
145
- ### Frontend (HTML/CSS/JavaScript)
146
- - Modern responsive design
147
- - Drag & drop file upload
148
- - Interactive guest selection
149
- - Circular table visualization with CSS positioning
150
- - Real-time statistics updates
151
 
152
- ### Dependencies
153
- - `flask`: Web framework
154
- - `flask-cors`: Cross-origin resource sharing
155
- - `werkzeug`: File upload handling
156
 
157
- ## Limitations
 
 
 
 
158
 
159
- - Maximum 30 guests can be arranged (3 tables Γ— 10 people)
160
- - Maximum 100 guests can be loaded from CSV
161
- - CSV files only (no Excel or other formats)
162
- - Guest data is not persistent between sessions
163
 
164
- ## Future Enhancements
165
 
166
- - [ ] Support for Excel files (.xlsx, .xls)
167
- - [ ] Save/load table arrangements
168
- - [ ] Export to CSV/PDF
169
- - [ ] Custom table sizes
170
- - [ ] Guest filtering by industry/company
171
- - [ ] Integration with calendar systems
172
- - [ ] Email invitations to guests
173
- - [ ] 3D table visualization
174
- - [ ] Drag & drop seating arrangements
175
 
176
- ## Contributing
177
 
178
- Feel free to submit issues and enhancement requests!
179
 
180
- ## License
181
 
182
- This project is for educational and personal use purposes.
 
1
+ ---
2
+ title: Party Planner - Guest Table Arranger
3
+ emoji: πŸŽ‰
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: 5.34.2
8
+ app_file: app.py
9
+ pinned: false
10
+ ---
11
 
12
+ # πŸŽ‰ Party Planner - Guest Table Arranger
13
 
14
+ A smart web application that helps you organize your guest list into optimal table arrangements for networking events and parties. Built with Gradio and deployed on Hugging Face Spaces.
15
 
16
+ ## ✨ Features
 
 
 
 
 
 
17
 
18
+ - πŸ“ **Easy CSV Upload**: Simply paste your CSV content or upload a file
19
+ - 🧠 **Smart Table Arrangement**: AI-powered algorithm that categorizes guests by industry/role
20
+ - 🎯 **Optimal Distribution**: Automatically creates tables of 10 with balanced industry mix
21
+ - πŸ“Š **Visual Results**: Clear, formatted output showing table assignments
22
+ - 🎨 **Modern Interface**: Beautiful, responsive Gradio interface
23
+ - πŸ“± **Mobile Friendly**: Works perfectly on all devices
24
 
25
+ ## πŸš€ How to Use
 
26
 
27
+ 1. **Prepare Your CSV**: Create a CSV file with exactly 2 columns:
28
+ - **First column**: Guest names
29
+ - **Second column**: Job titles, roles, or descriptions
30
 
31
+ 2. **Upload Your Data**:
32
+ - Paste your CSV content directly into the text box, OR
33
+ - Upload your CSV file using the file upload button
 
 
34
 
35
+ 3. **Arrange Tables**: Click the "🎯 Arrange Tables" button to see the smart arrangement
 
 
 
36
 
37
+ 4. **View Results**: See your guests organized into optimal table seating with industry-balanced distribution
38
 
39
+ ## πŸ“„ CSV Format Example
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
  ```csv
42
  name,message
 
47
  David Wilson,Product Manager at Innovation Inc
48
  ```
49
 
50
+ ## 🧠 Smart Categorization
51
+
52
+ The app automatically categorizes guests based on their job descriptions:
53
+
54
+ - **Tech**: engineer, developer, programmer, software, tech, data, AI, ML, scientist
55
+ - **Business**: manager, director, CEO, founder, executive, strategy, operations, consultant
56
+ - **Creative**: designer, creative, marketing, content, writer, artist, media
57
+ - **Sales**: sales, account, client, business development, partnership
58
+ - **Finance**: finance, accounting, investment, banking, analyst, CFO
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  - **Other**: any roles not matching the above categories
60
 
61
+ ## 🎯 Table Arrangement Algorithm
 
 
 
 
62
 
63
+ 1. **Categorizes** guests by industry/role type
64
+ 2. **Distributes** major categories evenly across tables
65
+ 3. **Balances** table sizes (maximum 10 guests per table)
66
+ 4. **Creates** unlimited tables as needed
67
+ 5. **Ensures** diverse networking opportunities
68
 
69
+ ## πŸ“Š Sample Output
70
 
71
+ ```
72
+ πŸŽ‰ Successfully processed 25 guests!
 
 
73
 
74
+ πŸ“Š Created 3 table(s) with smart distribution:
 
 
 
75
 
76
+ 🍽️ **Table 1** (9 guests):
77
+ 1. **John Smith** - Software Engineer at TechCorp
78
+ 2. **Sarah Johnson** - Marketing Director at Creative Agency
79
+ 3. **Michael Brown** - CEO of StartupXYZ
80
+ ...
81
 
82
+ 🍽️ **Table 2** (8 guests):
83
+ 1. **Emily Davis** - Data Scientist at AI Labs
84
+ 2. **David Wilson** - Product Manager at Innovation Inc
85
+ ...
86
 
87
+ 🍽️ **Table 3** (8 guests):
88
+ 1. **Lisa Chen** - UX Designer at Design Studio
89
+ ...
90
 
91
+ πŸ“ˆ **Table Statistics:**
92
+ Table 1: 9 guests
93
+ Table 2: 8 guests
94
+ Table 3: 8 guests
95
+ ```
96
 
97
+ ## πŸ› οΈ Technical Details
 
 
 
98
 
99
+ - **Framework**: Gradio (Python)
100
+ - **Algorithm**: Smart categorization and distribution
101
+ - **Deployment**: Hugging Face Spaces
102
+ - **Dependencies**: gradio>=4.0.0
 
 
103
 
104
+ ## 🎨 Features
 
 
 
105
 
106
+ - **Drag & Drop**: Easy file upload
107
+ - **Real-time Processing**: Instant table arrangement
108
+ - **Error Handling**: Clear error messages for invalid formats
109
+ - **Sample Data**: Built-in sample CSV for testing
110
+ - **Responsive Design**: Works on desktop and mobile
111
 
112
+ ## πŸ”§ Local Development
 
 
 
113
 
114
+ To run this locally:
115
 
116
+ ```bash
117
+ pip install gradio
118
+ python app.py
119
+ ```
 
 
 
 
 
120
 
121
+ ## πŸ“ License
122
 
123
+ This project is for educational and personal use purposes.
124
 
125
+ ---
126
 
127
+ **Made with ❀️ for better networking events!**
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  flask==3.0.0
2
  flask-cors==4.0.0
3
  werkzeug==3.1.3
4
- gunicorn==21.2.0
 
 
1
  flask==3.0.0
2
  flask-cors==4.0.0
3
  werkzeug==3.1.3
4
+ gunicorn==21.2.0
5
+ gradio>=4.0.0