### Facebook API: App Token Generation Source: https://github.com/rmanguinho/advanced-node/blob/master/documentation/facebook-authentication/facebook-api.md Obtain an app access token by making a GET request to the /oauth/access_token endpoint. Requires client_id, client_secret, and grant_type set to 'client_credentials'. The output contains the access_token. ```APIDOC APIDOC: Endpoint: /oauth/access_token Method: GET Parameters: client_id: Your Facebook App Client ID client_secret: Your Facebook App Client Secret grant_type: Must be 'client_credentials' Output: access_token: The generated app access token ``` -------------------------------- ### Facebook API: Debug Token Source: https://github.com/rmanguinho/advanced-node/blob/master/documentation/facebook-authentication/facebook-api.md Debug an access token by sending a GET request to the /debug_token endpoint. Requires the server-side access_token and the input_token (client-side token) to be debugged. The output includes data such as the user_id. ```APIDOC APIDOC: Endpoint: /debug_token Method: GET Parameters: access_token: The server-side access token input_token: The client-side access token to debug Output: data: user_id: The ID of the user associated with the input token ``` -------------------------------- ### Facebook API: User Information Retrieval Source: https://github.com/rmanguinho/advanced-node/blob/master/documentation/facebook-authentication/facebook-api.md Retrieve specific user information by making a GET request to the /USER_ID endpoint. Requires the user's ID, desired fields (e.g., id, name, email), and a client-side access token. The output contains the requested user details. ```APIDOC APIDOC: Endpoint: /{USER_ID} Method: GET Parameters: fields: Comma-separated list of fields to retrieve (e.g., 'id,name,email') access_token: The client-side access token Output: id: The user's ID name: The user's name email: The user's email address ``` -------------------------------- ### Project Principles and Methodologies Source: https://github.com/rmanguinho/advanced-node/blob/master/readme.md This section outlines the core principles, design patterns, code smells, methodologies, and tools used in the Advanced Node.js project. It serves as a reference for the architectural and development standards followed. ```APIDOC Project Principles: - Single Responsibility - Open Closed - Liskov Substitution - Interface Segregation - Dependency Inversion - Separation of Concerns - Don't Repeat Yourself - You Aren't Gonna Need It - Keep It Simple - Composition Over Inheritance - Small Commits Design Patterns: - Factory - Adapter - Composite - Decorator - Command - Dependency Injection - Abstract Server - Composition Root - Builder - Template Method - Singleton - Chain of Responsibility - Proxy Code Smells (Anti-Patterns): - Blank Lines - Comments - Data Clumps - Divergent Change - Duplicate Code - Inappropriate Intimacy - Feature Envy - Large Class - Long Method - Long Parameter List - Middle Man - Primitive Obsession - Refused Bequest - Shotgun Surgery - Speculative Generality Metodologias e Designs: - TDD - Clean Architecture - DDD - Refactoring - GitFlow - Modular Design - Dependency Diagrams - Use Cases - Spike (Agile) Bibliotecas e Ferramentas: - NPM - Typescript - Git - Jest - Ts-Jest - Jest-Mock-Extended - TypeORM - AWS-SDK - Multer - UUID - Axios - Postgres - JsonWebToken - Express - Cors - Supertest - Husky - Lint Staged - Eslint - Standard Javascript Style - Rimraf - In-Memory Postgres Server - Module-Alias - Npm Check - Travis CI - Coverals - DotEnv - Ts-Node-Dev ``` -------------------------------- ### Testing Features Source: https://github.com/rmanguinho/advanced-node/blob/master/readme.md Details the testing strategies and tools employed, including unit tests, integration tests, test coverage, and the use of test doubles like mocks, stubs, and fakes for comprehensive quality assurance. ```APIDOC Testing Features: - Testes Unitários - Testes de Integração - Cobertura de Testes - Test Doubles - Mocks - Stubs - Spies - Fakes ``` -------------------------------- ### TypeScript Features Source: https://github.com/rmanguinho/advanced-node/blob/master/readme.md Highlights the advanced features of TypeScript utilized in the project, such as advanced OOP, strict mode, interfaces, type aliases, and utility types, for robust and maintainable code. ```APIDOC TypeScript Features: - POO Avançado - Strict Mode - Interface - TypeAlias - Namespace - Utility Types - Modularização de Paths - Configurações - Build ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.