{"id":19075837,"url":"https://github.com/lpsm-dev/twitter-sentimental-analysis-covid","last_synced_at":"2025-04-30T00:13:14.004Z","repository":{"id":38083577,"uuid":"247521012","full_name":"lpsm-dev/twitter-sentimental-analysis-covid","owner":"lpsm-dev","description":"✔️ Twitter Sentimental Analysis Covid-19 (using Textblob - Naive bayes) + Python Backend Flask + Docker + Docker Compose + MongoDB","archived":false,"fork":false,"pushed_at":"2025-01-16T14:41:36.000Z","size":28075,"stargazers_count":5,"open_issues_count":14,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T00:13:05.864Z","etag":null,"topics":["adminmongo","alpine","backend","corona","coronavirus-analysis","covid","covid-19","data-analysis","docker","docker-compose","docker-compose-wait","flask","flask-restful","mongodb","mongoku","python","python-api","sentiment-analysis","twitter"],"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/lpsm-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-03-15T17:56:34.000Z","updated_at":"2024-03-02T11:00:54.000Z","dependencies_parsed_at":"2022-08-31T02:22:01.435Z","dependency_job_id":"e601aaa9-78ff-4795-a654-e98d39abf2de","html_url":"https://github.com/lpsm-dev/twitter-sentimental-analysis-covid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Ftwitter-sentimental-analysis-covid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Ftwitter-sentimental-analysis-covid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Ftwitter-sentimental-analysis-covid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lpsm-dev%2Ftwitter-sentimental-analysis-covid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lpsm-dev","download_url":"https://codeload.github.com/lpsm-dev/twitter-sentimental-analysis-covid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251602831,"owners_count":21615969,"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":["adminmongo","alpine","backend","corona","coronavirus-analysis","covid","covid-19","data-analysis","docker","docker-compose","docker-compose-wait","flask","flask-restful","mongodb","mongoku","python","python-api","sentiment-analysis","twitter"],"created_at":"2024-11-09T01:56:07.765Z","updated_at":"2025-04-30T00:13:13.986Z","avatar_url":"https://github.com/lpsm-dev.png","language":"Python","funding_links":["https://www.buymeacoffee.com/EatdMck"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"sentiment-analysis\" src=\"https://www.networkx.nl/wp-content/uploads/2015/02/Twitter_Python_MongoDB-300x289.png\" width=\"250px\" float=\"center\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eWelcome to Sentiment Analysis Repository\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003ePython Sentiment Analysis API + Docker + Docker Compose\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis\"\u003e\n    \u003cimg alt=\"Open Source\" src=\"https://badges.frapsoft.com/os/v1/open-source.svg?v=102\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis/graphs/contributors\"\u003e\n    \u003cimg alt=\"GitHub Contributors\" src=\"https://img.shields.io/github/contributors/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis\"\u003e\n    \u003cimg alt=\"GitHub Language Count\" src=\"https://img.shields.io/github/languages/count/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis\"\u003e\n    \u003cimg alt=\"GitHub Top Language\" src=\"https://img.shields.io/github/languages/top/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis/stargazers\"\u003e\n    \u003cimg alt=\"GitHub Stars\" src=\"https://img.shields.io/github/stars/lpmatos/sentiment-analysis?style=social\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis/commits/master\"\u003e\n    \u003cimg alt=\"GitHub Last Commit\" src=\"https://img.shields.io/github/last-commit/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis\"\u003e\n    \u003cimg alt=\"Repository Size\" src=\"https://img.shields.io/github/repo-size/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis/issues\"\u003e\n    \u003cimg alt=\"Repository Issues\" src=\"https://img.shields.io/github/issues/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/lpmatos/sentiment-analysis/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"MIT License\" src=\"https://img.shields.io/github/license/lpmatos/sentiment-analysis\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Menu\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"#pre-requisites\"\u003ePre-Requisites\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#description\"\u003eDescription\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#how-to-contribute\"\u003eHow to contribute\u003c/a\u003e\n\u003c/p\u003e\n\n### By me a coffe\n\nPull requests are welcome. If you'd like to support the work and buy me a ☕, I greatly appreciate it!\n\n\u003ca href=\"https://www.buymeacoffee.com/EatdMck\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 100px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n\n### Getting Started\n\nIf you want use this repository you need to make a **git clone**:\n\n```bash\ngit clone --depth 1 https://github.com/lpmatos/sentiment-analysis.git -b master\n```\n\nThis will give access on your **local machine**.\n\n### Pre-Requisites\n\nTo this project you yeed:\n\n* Python 3.8.\n* Docker and Docker Compose.\n* MongoDB.\n\n### Built with\n\n- [Python](https://www.python.org/)\n- [MongoDB](https://www.mongodb.com/)\n- [Mongoku](https://github.com/huggingface/Mongoku)\n- [AdminMongo](https://github.com/mrvautin/adminMongo)\n- [Docker](https://docs.docker.com/)\n- [Docker Compose](https://docs.docker.com/compose/)\n\n### How to use it?\n\n1. Set the gitlab environment variables.\n2. Install python packages in requirements.txt.\n2. Run this script with docker-compose, Dockerfile or into your local machine with Python command.\n3. Profit.\n\nPress CTRL + C to stop it in Docker Compose or Dockerfile.\n\n### Description\n\nThis is a project whose focus is to address the analysis of feelings in a basic way. An api was created to perform the search for tweets and as a result returns a list with the classification: positive, neutral, negative.\n\n### Mongo Schema\n\n![Alt text](docs/images/MONGO_SCHEMA.png?raw=true \"Mongo Schema\")\n\n### Services\n\n![Alt text](docs/images/SERVICES.png?raw=true \"Services\")\n\n### Routes\n\n![Alt text](docs/images/ROUTES.png?raw=true \"Routes\")\n\n### Architecture\n\n![Alt text](docs/images/ARCHITECTURE.png?raw=true \"Architecture Sentimental Analysis\")\n\n### Results\n\n![Alt text](docs/images/RESULTS.png?raw=true \"Results Sentimental Analysis\")\n\n### Documentation\n\n[Project Documentation](/docs/helper.md)\n\n### MongoDB Tools\n\nSome MongoDB Tools that we use in this project.\n\n#### Mongoku\n\nMongoDB client for the web. Query your data directly from your browser. You can host it locally, or anywhere else, for you and your team.\n\nIt scales with your data (at Hugging Face we use it on a 1TB+ cluster) and is blazing fast for all operations, including sort/skip/limit. Built on TypeScript/Node.js/Angular.\n\n#### AdminMongo\n\nAdminMongo is a cross platform user interface (GUI) to handle all your MongoDB connections/databases needs. AdminMongo is fully responsive and should work on a range of devices.\n\n\u003e\n\u003e AdminMongo connection information (including username/password) is stored unencrypted in a config file, it is not recommended to run this application on a production or public facing server without proper security considerations.\n\u003e\n\n### Environment variables\n\n**Name**  |  **Description**\n:---:  |  :---:\n**TWITTER_CONSUMER_KEY**  |  Twitter Consumer Key\n**TWITTER_CONSUMER_SECRET**  |  Twitter Consumer Secret\n**TWITTER_ACCESS_TOKEN**  |  Twitter Access Token\n**TWITTER_ACCESS_TOKEN_SECRET**  |  Twitter Access Token Secret\n**LOG_PATH**  |  Just the Log Path\n**LOG_FILE**  |  Just the Log File\n**LOG_LEVEL**  |  Just the Log Level\n**LOGGER_NAME**  |  Just the Logger name\n\n### 🐋 Development with Docker\n\nSteps to build the Docker Image.\n\n#### Build\n\n```bash\ndocker image build -t \u003cIMAGE_NAME\u003e -f \u003cPATH_DOCKERFILE\u003e \u003cPATH_CONTEXT_DOCKERFILE\u003e\ndocker image build -t \u003cIMAGE_NAME\u003e . (This context)\n```\n\n#### Run\n\nSteps to run the Docker Container.\n\n* **Linux** running:\n\n```bash\ndocker container run -d -p \u003cLOCAL_PORT:CONTAINER_PORT\u003e \u003cIMAGE_NAME\u003e \u003cCOMMAND\u003e\ndocker container run -it --rm --name \u003cCONTAINER_NAME\u003e -p \u003cLOCAL_PORT:CONTAINER_PORT\u003e \u003cIMAGE_NAME\u003e \u003cCOMMAND\u003e\n```\n\n* **Windows** running:\n\n```\nwinpty docker.exe container run -it --rm \u003cIMAGE_NAME\u003e \u003cCOMMAND\u003e\n```\n\nFor more information, access the [Docker](https://docs.docker.com/) documentation or [this](docs/docker.md).\n\n### 🐋 Development with Docker Compose\n\nBuild and run a docker-compose.\n\n```bash\ndocker-compose up --build\n```\n\nDown all services deployed by docker-compose.\n\n```bash\ndocker-compose down\n```\n\nDown all services and delete all images.\n\n```bash\ndocker-compose down --rmi all\n```\n\n### How to contribute\n\n\u003e\n\u003e 1. Make a **Fork**.\n\u003e 2. Follow the project organization.\n\u003e 3. Add the file to the appropriate level folder - If the folder does not exist, create according to the standard.\n\u003e 4. Make the **Commit**.\n\u003e 5. Open a **Pull Request**.\n\u003e 6. Wait for your pull request to be accepted.. 🚀\n\u003e\nRemember: There is no bad code, there are different views/versions of solving the same problem. 😊\n\n### Add to git and push\n\nYou must send the project to your GitHub after the modifications\n\n```bash\ngit add -f .\ngit commit -m \"Added - Fixing somethings\"\ngit push origin master\n```\n\n## ➤ Author \u003ca name = \"author\"\u003e\u003c/a\u003e\n\n👤 Hey!! If you like this project or if you find some bugs feel free to contact me in my channels:\n\n\u003e\n\u003e * Linktree: https://linktr.ee/lpmatos\n\u003e\n\n## ➤ Versioning \u003ca name = \"versioning\"\u003e\u003c/a\u003e\n\nTo check the change history, please access the [**CHANGELOG.md**](CHANGELOG.md) file.\n\n## ➤ Project status \u003ca name = \"project-status\"\u003e\u003c/a\u003e\n\nThis repository is a study project, therefore, it will not always be maintained 👻.\n\n## ➤ Donations \u003ca name = \"donations\"\u003e\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.blockchain.com/pt/btc/address/bc1qn50elv826qs2qd6xhfh6n79649epqyaqmtwky5\"\u003e\n    \u003cimg alt=\"BTC Address\" src=\"https://img.shields.io/badge/BTC%20Address-black?style=for-the-badge\u0026logo=bitcoin\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://live.blockcypher.com/ltc/address/ltc1qwzrxmlmzzx68k2dnrcrplc4thadm75khzrznjw/\"\u003e\n    \u003cimg alt=\"Litecoin Address\" src=\"https://img.shields.io/badge/Litecoin%20Address-black?style=for-the-badge\u0026logo=litecoin\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## ➤ Show your support \u003ca name = \"show-your-support\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nGive me a ⭐️ if this project helped you!\n\n\u003cp\u003e\n  \u003cimg alt=\"gif-header\" src=\"https://www.icegif.com/wp-content/uploads/baby-yoda-bye-bye-icegif.gif\" width=\"350px\" float=\"center\"/\u003e\n\u003c/p\u003e\n\nMade with 💜 by [me](https://github.com/lpmatos) 👋 inspired on [readme-md-generator](https://github.com/kefranabg/readme-md-generator)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpsm-dev%2Ftwitter-sentimental-analysis-covid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flpsm-dev%2Ftwitter-sentimental-analysis-covid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flpsm-dev%2Ftwitter-sentimental-analysis-covid/lists"}