{"id":28148003,"url":"https://github.com/ericshantos/fakecheck_api","last_synced_at":"2026-04-12T04:31:36.013Z","repository":{"id":287970347,"uuid":"960072747","full_name":"ericshantos/fakeCheck_API","owner":"ericshantos","description":"API that analyzes news content and verifies its veracity using AI.","archived":false,"fork":false,"pushed_at":"2026-01-17T23:27:40.000Z","size":34149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T10:38:48.537Z","etag":null,"topics":["deep-learning","fake-news","nestjs","nodejs","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ericshantos.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-03T20:15:40.000Z","updated_at":"2026-01-17T23:27:44.000Z","dependencies_parsed_at":"2025-05-10T22:36:39.031Z","dependency_job_id":null,"html_url":"https://github.com/ericshantos/fakeCheck_API","commit_stats":null,"previous_names":["ericshantos/fakecheck","ericshantos/fakecheck_api"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/ericshantos/fakeCheck_API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericshantos%2FfakeCheck_API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericshantos%2FfakeCheck_API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericshantos%2FfakeCheck_API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericshantos%2FfakeCheck_API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericshantos","download_url":"https://codeload.github.com/ericshantos/fakeCheck_API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericshantos%2FfakeCheck_API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31704492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"online","status_checked_at":"2026-04-12T02:00:06.763Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["deep-learning","fake-news","nestjs","nodejs","tensorflow"],"created_at":"2025-05-15T00:23:10.373Z","updated_at":"2026-04-12T04:31:36.007Z","avatar_url":"https://github.com/ericshantos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[🇧🇷] [Lê em português](README.pt.md)\n\n# FakeCheck API v4.1.1\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Node.js](https://img.shields.io/badge/Node.js-20-green.svg)\n![Python](https://img.shields.io/badge/Python-3.10-blue.svg)\n![TensorFlow](https://img.shields.io/badge/TensorFlow-2.19-orange.svg)\n![Docker \u0026 Docker Compose](https://img.shields.io/badge/Docker_\u0026_Compose-enabled-2496ED?logo=docker\u0026logoColor=white)\n![NestJS](https://img.shields.io/badge/NestJS-11.0-purple.svg)\n\nA high-performance API for detecting fake news in Portuguese using deep learning, built with NestJS and Python microservices.\n\n## Table of Contents\n\n- [FakeCheck API v4.1.1](#fakecheck-api-v411)\n  - [Table of Contents](#table-of-contents)\n  - [Problem Statement](#problem-statement)\n  - [Solution](#solution)\n  - [Features](#features)\n    - [Core Functionality](#core-functionality)\n    - [Technical Features](#technical-features)\n  - [Technical Architecture](#technical-architecture)\n  - [Model Details](#model-details)\n    - [Architecture](#architecture)\n    - [Performance](#performance)\n    - [Key Features](#key-features)\n  - [API Documentation](#api-documentation)\n    - [Endpoints](#endpoints)\n  - [Installation](#installation)\n    - [Prerequisites](#prerequisites)\n    - [Setup](#setup)\n  - [Contributing](#contributing)\n  - [License](#license)\n  - [Acknowledgments](#acknowledgments)\n\n## Problem Statement\n\nFake news has become a significant social problem, spreading misinformation rapidly through digital channels. The lack of reliable tools to automatically verify news authenticity in Portuguese exacerbates this issue, particularly in Brazilian media ecosystems.\n\n## Solution\n\nFakeCheck provides an API that:\n1. Extracts text from news articles via URL using advanced scraping\n2. Processes content with optimized NLP pipelines\n3. Classifies articles using our custom LSTM model (95% accuracy)\n4. Returns veracity with confidence scoring\n5. Provides real-time system health monitoring\n\n## Features\n\n### Core Functionality\n- **System Health**: Comprehensive monitoring with rate limiting\n- **Model Metadata**: Version and architecture details\n- **Project Information**: Technology stack and credits\n\n### Technical Features\n- **Microservices Architecture**: Node.js + Python services\n- **Containerized**: Docker Compose ready (Node, Python)\n- **Rate Limiting**: Protection against abuse\n- **Detailed Logging**: Request/error tracking\n- **Swagger Docs**: Interactive API documentation\n- **Validation**: Input sanitization and validation\n- **Type Safety**: TypeScript interfaces throughout\n\n## Technical Architecture\n\n```\n├── API Gateway (NestJS)\n│   ├── Modules\n│   │   ├── Check - News verification\n│   │   ├── Health - System monitoring  \n│   │   ├── Info - Model metadata\n│   │   └── Shared - Common utilities\n│   ├── Controllers\n│   ├── Services\n│   ├── Middlewares\n│   └── Pipes/Interceptors\n│\n└── Predictor Service (Python)\n    ├── LSTM Model (TensorFlow/Keras)\n    ├── Text Preprocessing (spaCy)\n    └── Socket Server (Threaded)\n```\n\n## Model Details\n\n### Architecture\n\nInput Layer → Embedding Layer (300D) → Bidirectional LSTM (128 units) → \nDense Layer (64 units, ReLU) → Output Layer (1 unit, Sigmoid)\n\n\n### Performance\n| Metric       | Value |\n|--------------|-------|\n| Accuracy     | 95%   |\n| Precision    | 96%   |\n| Recall       | 94%   |\n| F1-Score     | 95%   |\n| ROC AUC      | 96%   |\n\n### Key Features\n- Optimized for Brazilian Portuguese\n- Journalistic vocabulary handling\n- Confidence thresholding (0.7 default)\n- Hugging Face Hub integration\n- Efficient text preprocessing\n\n## API Documentation\n\nInteractive documentation available at `/docs` when running locally.\n\n### Endpoints\n| Method | Endpoint | Description | Parameters | Rate Limit |\n|--------|----------|-------------|------------|------------|\n| POST   | /check   | Verify news | `{ \"url\": \"string\" }` | 50/15min |\n| GET    | /info    | Model info  | - | 100/15min |\n| GET    | /health  | System health | - | 10/1min |\n\n**Example Request:**\n```bash\ncurl -X POST http://localhost:3000/check \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\":\"https://example.com/news-article\"}'\n```\n\n**Example Response:**\n```json\n{\n  \"veracity\": \"real\",\n  \"confidence\": 0.92,\n  \"threshold\": 0.7,\n  \"extracted_at\": \"2025-04-18T12:34:56.789Z\"\n}\n```\n\n## Installation\n\n### Prerequisites\n- Docker 20.10+\n- Docker Compose 2.0+\n\n### Setup\n```bash\ngit clone https://github.com/ericshantos/fakeCheck_API.git\ncd fakeCheck_API\ndocker-compose up --build\n```\nAccess API at `http://localhost:3000`\n\n## Contributing\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/your-feature`)\n3. Commit changes (`git commit -am 'Add feature'`)\n4. Push branch (`git push origin feature/your-feature`)\n5. Open Pull Request\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## Acknowledgments\n- [Fake.Br Corpus](https://github.com/roneysco/Fake.br-Corpus) for training data\n- Programadores do Futuro for support\n- TensorFlow/Keras team\n- NestJS framework","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericshantos%2Ffakecheck_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericshantos%2Ffakecheck_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericshantos%2Ffakecheck_api/lists"}