{"id":21125452,"url":"https://github.com/farahsedd/safe-place-mini-project","last_synced_at":"2025-07-09T11:07:18.078Z","repository":{"id":262876076,"uuid":"888485923","full_name":"farahsedd/safe-place-mini-project","owner":"farahsedd","description":"A mini content moderation project app that uses Mistral AI to detect inappropriate or harmful text. Built with FastAPI and Streamlit, it flags content based on certain categories, supports custom \"bad words,\" and masks PII information.","archived":false,"fork":false,"pushed_at":"2024-11-14T21:24:29.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-09T11:07:17.569Z","etag":null,"topics":["content-filtering","content-moderation","fastapi","mistral-ai","mistral-api","regex","streamlit","streamlit-dashboard"],"latest_commit_sha":null,"homepage":"https://safe-place.streamlit.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farahsedd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-11-14T13:35:40.000Z","updated_at":"2024-11-29T07:36:19.000Z","dependencies_parsed_at":"2025-03-14T11:40:46.757Z","dependency_job_id":"00f80054-2d17-4912-ab11-5b5db80d001f","html_url":"https://github.com/farahsedd/safe-place-mini-project","commit_stats":null,"previous_names":["farahsedd/safe-place-mini-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/farahsedd/safe-place-mini-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farahsedd%2Fsafe-place-mini-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farahsedd%2Fsafe-place-mini-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farahsedd%2Fsafe-place-mini-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farahsedd%2Fsafe-place-mini-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farahsedd","download_url":"https://codeload.github.com/farahsedd/safe-place-mini-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farahsedd%2Fsafe-place-mini-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264446715,"owners_count":23609632,"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":["content-filtering","content-moderation","fastapi","mistral-ai","mistral-api","regex","streamlit","streamlit-dashboard"],"created_at":"2024-11-20T04:33:58.777Z","updated_at":"2025-07-09T11:07:17.839Z","avatar_url":"https://github.com/farahsedd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SafePlace \n#### To make the internet a Safer Place.\n\nA simple content moderation project built with Mistral models for assessing text content across several categories:\n- sexual content\n- hate and discrimination\n- violence and threats\n- dangerous and criminal content\n- selfharm content\n- health advice\n- financial advice\n- law advice\n- PII: Personal Identifiable Information\n\n## Project Structure\n![](https://img.shields.io/badge/Streamlit-FF4B4B?style=for-the-badge\u0026logo=Streamlit\u0026logoColor=white)\n![](https://img.shields.io/badge/fastapi-109989?style=for-the-badge\u0026logo=FASTAPI\u0026logoColor=white)\n\nThe project is divided into two folders:\n\n- **Frontend**: Contains the user interface and client-side logic.\n- **Backend**: Contains server-side logic, API endpoints, and integration with Mistral models.\n\n---\n\n## Screenshots\n\n\n![Main UI](./UI.png)\n![toggle menu](./toggle-menu.png)\n*Screenshot of the UI.*\n\n![Moderation Result](./toggle-menu.png)\n*Screenshot showing moderation results.*\n\n---\n\n## Setup and Installation\n\n### Prerequisites\n **Install dependencies**:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n\n### Backend\n\n1. **Navigate to the backend folder**:\n   ```bash\n   cd backend\n   ```\n\n\n3. **Set up environment variables**:\n   - Create a `.env` file with the necessary API key.\n   ```\n   MISTRAL_API_KEY=***************\n   ```\n\n4. **Run the backend server**:\n   ```bash\n   python -m uvicorn main:app --host 127.0.0.1 --port 8001 --reload\n   ```\n\n### Frontend\n\n1. **Navigate to the frontend folder**:\n   ```bash\n   cd frontend\n   ```\n\n3. **Start the frontend server**:\n   ```bash\n   streamlit run main.py\n   ```\n\n*Open the frontend interface in your browser: http://localhost:8501*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarahsedd%2Fsafe-place-mini-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarahsedd%2Fsafe-place-mini-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarahsedd%2Fsafe-place-mini-project/lists"}