{"id":15043543,"url":"https://github.com/hardmax71/flet-chat","last_synced_at":"2025-04-14T21:13:28.765Z","repository":{"id":255521378,"uuid":"851863704","full_name":"HardMax71/Flet-Chat","owner":"HardMax71","description":"A modern, real-time chat application built with Flet, FastAPI, and PostgreSQL.","archived":false,"fork":false,"pushed_at":"2025-03-27T21:53:00.000Z","size":190,"stargazers_count":13,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T21:13:22.103Z","etag":null,"topics":["chat","fastapi","flet","postgresql","pydantic-v2","python","redis"],"latest_commit_sha":null,"homepage":"","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/HardMax71.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}},"created_at":"2024-09-03T20:28:04.000Z","updated_at":"2025-03-27T21:52:14.000Z","dependencies_parsed_at":"2024-12-22T18:24:19.340Z","dependency_job_id":"d2f488ae-8280-4c4b-88f8-f1bf54bd56dd","html_url":"https://github.com/HardMax71/Flet-Chat","commit_stats":{"total_commits":57,"total_committers":3,"mean_commits":19.0,"dds":0.03508771929824561,"last_synced_commit":"e6c6e5cc3929ccf88fd1c96ba8dee5b75e6c9e66"},"previous_names":["hardmax71/flet-chat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HardMax71%2FFlet-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HardMax71%2FFlet-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HardMax71%2FFlet-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HardMax71%2FFlet-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HardMax71","download_url":"https://codeload.github.com/HardMax71/Flet-Chat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961237,"owners_count":21189993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chat","fastapi","flet","postgresql","pydantic-v2","python","redis"],"created_at":"2024-09-24T20:49:14.739Z","updated_at":"2025-04-14T21:13:28.734Z","avatar_url":"https://github.com/HardMax71.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Flet-Chat\n\n[![codecov](https://codecov.io/gh/HardMax71/Flet-Chat/branch/main/graph/badge.svg)](https://codecov.io/gh/HardMax71/Flet-Chat)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d692dbdd8ec541799947f81fe3a41b65)](https://app.codacy.com/gh/HardMax71/Flet-Chat/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python Version](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)\n\n\u003c/div\u003e\n\n## 🚀 Features\n\n- Real-time messaging\n- User authentication and authorization\n- Group chat functionality\n- Message history and search\n- Responsive UI design\n- Docker support for easy deployment\n\n## 🛠️ Tech Stack\n\n- **Frontend**: [Flet](https://flet.dev/) - A framework for building interactive multi-platform applications in Python\n- **Backend**: [FastAPI](https://fastapi.tiangolo.com/) - A modern, fast (high-performance) web framework for building APIs with Python\n- **Database**: [PostgreSQL](https://www.postgresql.org/) - A powerful, open-source object-relational database system\n- **ORM**: [SQLAlchemy](https://www.sqlalchemy.org/) - The Python SQL toolkit and Object-Relational Mapping (ORM) library\n- **Data Validation**: [Pydantic](https://pydantic-docs.helpmanual.io/) - Data validation and settings management using Python type annotations\n- **Containerization**: [Docker](https://www.docker.com/) and Docker Compose\n\n## 🚀 Getting Started\n\nFollow these steps to get Flet-Chat up and running on your local machine:\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand step-by-step instructions\u003c/summary\u003e\n\n### Prerequisites\n\n- Docker and Docker Compose\n- Python 3.11 or higher\n\n### Starting the Application\n\n1. **Start the Backend Services**\n\n   Navigate to the project root directory and run:\n\n    ```bash\n    docker-compose up -d\n    ```\n   \n    This command will start the PostgreSQL database, Redis, and the FastAPI backend service.\n\n2. **Start the Frontend Flet App**\n\n    a. Create a virtual environment:\n\n    ```bash\n    python -m venv venv\n    ```\n   \n    b. Activate the virtual environment:\n   - On Windows:\n     ```bash\n     venv\\Scripts\\activate\n     ```\n   - On macOS and Linux:\n     ```bash\n     source venv/bin/activate\n     ```\n\n    c. Install the required packages:\n    \n    ```bash\n    pip install -r requirements.txt\n    ```\n\n    d. Run the Flet application:\n\n    ```bash\n    python main.py --web  # also possible: flet run\n    ```\n\nThis will launch the Flet application, and you should see a window open with the chat interface.\n\n3. **Accessing the Application**\n\n- The Flet frontend application will be running as a desktop app.\n- The FastAPI backend will be accessible at `http://localhost:8000`.\n\n\u003c/details\u003e\n\n## 📚 Documentation\n\nFor comprehensive documentation on Flet-Chat, please refer to our [GitHub Wiki](https://github.com/HardMax71/Flet-Chat/wiki). The wiki provides detailed information on installation, usage, architecture, and more.\n\nFor API-specific documentation, once the application is running, you can access:\n\n- Swagger UI: `http://localhost:8000/docs`\n- ReDoc: `http://localhost:8000/redoc`\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 📞 Contact\n\nFor any questions or feedback, please open an issue on the GitHub repository.\n\nHappy chatting! 🎉","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhardmax71%2Fflet-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhardmax71%2Fflet-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhardmax71%2Fflet-chat/lists"}