{"id":31077056,"url":"https://github.com/franksunye/streamlitccdemo","last_synced_at":"2026-05-19T07:34:48.429Z","repository":{"id":299756732,"uuid":"1004081933","full_name":"franksunye/StreamlitCCDemo","owner":"franksunye","description":"A fully-featured Streamlit application demo, showing how to quickly deploy interactive web apps on Streamlit Community Cloud. Supports English, Chinese, and Spanish (i18n), including user interaction, file processing, data display, and database features.","archived":false,"fork":false,"pushed_at":"2025-06-18T08:45:40.000Z","size":112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T06:36:02.682Z","etag":null,"topics":["data-visualization","demo","i18n","streamlit"],"latest_commit_sha":null,"homepage":"https://community-cloud-demo.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/franksunye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-18T05:08:18.000Z","updated_at":"2025-06-18T08:45:43.000Z","dependencies_parsed_at":"2025-06-18T06:33:33.604Z","dependency_job_id":null,"html_url":"https://github.com/franksunye/StreamlitCCDemo","commit_stats":null,"previous_names":["franksunye/streamlitccdemo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/franksunye/StreamlitCCDemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franksunye%2FStreamlitCCDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franksunye%2FStreamlitCCDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franksunye%2FStreamlitCCDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franksunye%2FStreamlitCCDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/franksunye","download_url":"https://codeload.github.com/franksunye/StreamlitCCDemo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franksunye%2FStreamlitCCDemo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33206320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:16:55.748Z","status":"ssl_error","status_checked_at":"2026-05-19T07:16:54.366Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","demo","i18n","streamlit"],"created_at":"2025-09-16T06:19:28.863Z","updated_at":"2026-05-19T07:34:48.424Z","avatar_url":"https://github.com/franksunye.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Streamlit Community Cloud Demo: Multi-language Interactive Data Visualization App\n\n![Streamlit Badge](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)\n![Python 3.13+](https://img.shields.io/badge/Python-3.13+-blue.svg)\n![Streamlit 1.45.1](https://img.shields.io/badge/Streamlit-1.45.1-red.svg)\n![Pandas 2.2.0+](https://img.shields.io/badge/Pandas-2.2.0+-green.svg)\n![MIT License](https://img.shields.io/badge/License-MIT-green.svg)\n![GitHub Repository](https://img.shields.io/badge/GitHub-Repository-brightgreen.svg)\n\n\u003e 🌐 **Online Demo**: [https://community-cloud-demo.streamlit.app/](https://community-cloud-demo.streamlit.app/)\n\n**Open-source, multi-language Streamlit demo for interactive data visualization, file upload, user feedback, and chat. Instantly deployable on Community Cloud. Supports English, Chinese, and Spanish.**\n\n\u003c!-- Language Switch --\u003e\n## 🌐 Read this in other languages: [中文](README.zh.md) | [Español](README.es.md)\n\n## ✨ Features\n\n- 🎯 **Minimalist Design** - Clean and clear user interface\n- 🔄 **Real-time Interaction** - Text input, button click, slider, selectbox\n- 💬 **Chat Demo** - Multi-language chat interface using Streamlit official chat components\n- 📁 **File Upload** - Supports multiple file formats and content preview\n- 📂 **Static File Reading** - Read JSON and CSV data files in the project\n- 📊 **Data Display** - Table, statistics, and data visualization\n- 📱 **Responsive Layout** - Adapts to all device screens\n- 🌐 **Multi-language Switch** - Sidebar language selector for English/中文/Español\n- ☁️ **Cloud Deployment** - One-click deploy to Streamlit Community Cloud\n- 🚀 **Quick Start** - Minimal dependencies, fast to run\n\n## 🛠️ Tech Stack\n\n- **Python** - 3.13+\n- **Streamlit** - 1.45.1 (latest)\n- **Pandas** - 2.2.0+ (supports Python 3.13)\n- **GitHub** - Code hosting\n- **Streamlit Community Cloud** - Cloud deployment\n\n## 📦 Installation \u0026 Run\n\n### Requirements\n- Python 3.13 or above\n- pip package manager\n\n### Run Locally\n\n1. **Clone the repo**\n```bash\ngit clone https://github.com/franksunye/StreamlitCCDemo.git\ncd StreamlitCCDemo\n```\n\n2. **Install dependencies**\n```bash\npip install -r requirements.txt\n```\n\n3. **Start the app**\n```bash\nstreamlit run app.py\n```\n\n4. **Visit the app**\nOpen your browser and go to `http://localhost:8501`\n\n## ☁️ Cloud Deployment\n\n### Deploy on Streamlit Community Cloud\n\n1. **Fork this repo** to your GitHub account\n2. **Go to** [Streamlit Community Cloud](https://share.streamlit.io/)\n3. **Log in** with your GitHub account\n4. **Create a new app**:\n   - Repository: `your-username/StreamlitCCDemo`\n   - Branch: `main`\n   - Main file path: `app.py`\n5. **Click Deploy** and wait for deployment\n\n### Custom Deployment\n\nYou can also modify the code and redeploy:\n```bash\ngit add .\ngit commit -m \"feat: add new feature\"\ngit push origin main\n```\n\n## 📁 Project Structure\n\n```\nStreamlitCCDemo/\n├── app.py                    # Main app file\n├── translations.json         # Multi-language translations\n├── requirements.txt          # Python dependencies\n├── README.md                # Project description (English)\n├── README.zh.md             # Project description (Chinese)\n├── README.es.md             # Project description (Spanish)\n├── LICENSE                  # MIT License\n├── sample.txt               # Sample text file\n└── data/                    # Data files\n    ├── sample_data.json     # JSON sample data\n    └── weather_data.csv     # CSV weather data\n```\n\n## 🎮 Usage\n\n### Language Switch\n- **Sidebar Language Selector**: Instantly switch between English/中文/Español, all UI and features update immediately.\n- **Default Language**: English on first load, can be changed anytime.\n\n### Basic Interactive Features\n- **Text Input** - Enter your name, supports session state\n- **Greet Button** - Click to get a personalized greeting\n- **Age Slider** - Select age (0-100)\n- **Color Selector** - Choose your favorite color\n\n### File Processing\n- **File Upload** - Supports txt, md, py, json, csv\n- **Content Preview** - Real-time file content display\n- **Statistics** - Show line, word, and character count\n- **Encoding Support** - Handles UTF-8 and Latin-1\n\n### Static Data Display\n- **JSON Data** - App info, user data, statistics\n- **CSV Data** - Weather data table and analysis\n- **Two-column Layout** - Display different data types side by side\n\n## 🔧 Technical Details\n\n### Internationalization (i18n)\n- All UI texts managed via `translations.json`, easy to extend to more languages\n- Language switch is instant, no page reload needed\n- Uses Streamlit session state to remember user choice\n\n### Session State\nThe app uses Streamlit's session state to persist user input:\n```python\n# Initialize session state\nif 'user_name' not in st.session_state:\n    st.session_state.user_name = \"World\"\n\n# Use session state\nuser_name = st.text_input(\"Enter your name:\", value=st.session_state.user_name, key=\"user_name_input\")\n```\n\n### File Reading\nSafe reading for multiple file formats:\n```python\n# Safe decode\ntry:\n    text_content = file_content.decode('utf-8')\nexcept UnicodeDecodeError:\n    text_content = file_content.decode('latin-1')\n```\n\n### Data Display\nUses pandas for data processing and display:\n```python\n# Data statistics\nst.write(f\"- Total records: {len(df)}\")\nst.write(f\"- Average temperature: {df['Temperature'].mean():.1f}°C\")\n```\n\n## 🚀 Version History\n\n### v0.1.0 (Current)\n- ✅ Added English, Chinese, and Spanish language support (i18n)\n- ✅ All UI and features can switch language instantly\n- ✅ Added translations.json for unified text management\n- ✅ Upgraded to Streamlit 1.45.1\n- ✅ Upgraded to Pandas 2.2.0+ (Python 3.13 support)\n- ✅ Improved session state compatibility\n- ✅ Added static file reading\n- ✅ Enhanced error handling\n\n### Major Updates\n- **Dependency Upgrades** - Latest stable versions\n- **Compatibility Fixes** - Python 3.13 support\n- **Feature Enhancements** - Data display and file processing\n- **Internationalization** - Multi-language support\n- **Code Optimization** - Better error handling and UX\n\n## 🤝 Contributing\n\nContributions are welcome!\n\n1. Fork this repo\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see [LICENSE](LICENSE) for details.\n\n## 🔗 Useful Links\n\n- [Streamlit Documentation](https://docs.streamlit.io/)\n- [Streamlit Community Cloud Guide](https://docs.streamlit.io/streamlit-community-cloud)\n- [Pandas Documentation](https://pandas.pydata.org/docs/)\n- [GitHub Repository](https://github.com/franksunye/StreamlitCCDemo)\n\n## 📞 Contact\n\n- **GitHub**: [@franksunye](https://github.com/franksunye)\n- **Online Demo**: [https://community-cloud-demo.streamlit.app/](https://community-cloud-demo.streamlit.app/)\n\n## 🎯 Project Highlights\n\n- **Latest Tech Stack** - Use latest versions of Streamlit and Pandas\n- **Complete Feature Demo** - Covers main features of Streamlit\n- **Production Ready** - Includes error handling, compatibility check, and best practices\n- **Easy to Extend** - Clear code structure, easy to add new features\n- **Internationalization** - Multi-language support, suitable for global users\n- **Documentation** - Detailed explanation and usage guide\n\n---\n\n⭐ If this project helps you, please give it a star! ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranksunye%2Fstreamlitccdemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffranksunye%2Fstreamlitccdemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranksunye%2Fstreamlitccdemo/lists"}