{"id":21446921,"url":"https://github.com/gabrielrochafc/integranotafiscal","last_synced_at":"2026-04-13T16:01:39.470Z","repository":{"id":264106586,"uuid":"888287329","full_name":"GabrielRochaFC/IntegraNotaFiscal","owner":"GabrielRochaFC","description":"This project aims to integrate with payment gateways to generate invoices in an easier and more efficient way.","archived":false,"fork":false,"pushed_at":"2024-11-22T02:34:44.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T01:42:57.439Z","etag":null,"topics":["java","lombok","spring","spring-boot","spring-data-jpa","spring-mvc","spring-security-jwt"],"latest_commit_sha":null,"homepage":"","language":"Java","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/GabrielRochaFC.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-11-14T06:13:57.000Z","updated_at":"2024-11-22T02:34:47.000Z","dependencies_parsed_at":"2024-11-22T03:35:47.106Z","dependency_job_id":null,"html_url":"https://github.com/GabrielRochaFC/IntegraNotaFiscal","commit_stats":null,"previous_names":["gabrielrochafc/integranotafiscal"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GabrielRochaFC/IntegraNotaFiscal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRochaFC%2FIntegraNotaFiscal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRochaFC%2FIntegraNotaFiscal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRochaFC%2FIntegraNotaFiscal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRochaFC%2FIntegraNotaFiscal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabrielRochaFC","download_url":"https://codeload.github.com/GabrielRochaFC/IntegraNotaFiscal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielRochaFC%2FIntegraNotaFiscal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31759540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["java","lombok","spring","spring-boot","spring-data-jpa","spring-mvc","spring-security-jwt"],"created_at":"2024-11-23T03:08:18.550Z","updated_at":"2026-04-13T16:01:39.458Z","avatar_url":"https://github.com/GabrielRochaFC.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Integra Nota Fiscal\n\n![License](https://img.shields.io/badge/license-MIT-green)\n![Versão do Java](https://img.shields.io/badge/Java-21-blue)\n\n## Description\n\nThis project is a Jakarta EE application developed with Spring Data JPA for data persistence, Lombok to reduce\nboilerplate code, and Spring MVC for creating RESTful APIs. It is configured to run with Java 21 on port 8083.\nEssentially, this project aims to integrate with payment gateways to generate invoices in an easier and more efficient\nway.\n\n## Project Structure\n\n- **Controller**: Contains the API endpoints.\n- **Service**: Implements the business logic of the application.\n- **Repository**: Interface for database communication.\n- **Model**: Contains the database entities.\n\n## Requirements\n\n- Java 21\n- Maven 3.6+\n- MySql Database\n\n## Installation\n\n1. Clone the repository:\n\n    ```sh\n    git clone https://github.com/GabrielRochaFC/MentoriaRasmoo-IntegraNotaFiscal.git\n    ```\n\n2. Navigate to the project directory:\n\n    ```sh\n    cd IntegraNf\n    ```\n\n3. Compile the project using Maven:\n\n    ```sh\n    mvn clean install\n    ```\n\n4. Run the application:\n\n    ```sh\n    java -jar target/IntegraNf-0.0.1-SNAPSHOT.jar\n    ```\n\n## Configuration\n\nMake sure to configure the database information in `src/main/resources/application.properties` as needed:\n\n```properties\nserver.port=${SERVER_PORT}\nspring.datasource.url=${SPRING_DATASOURCE_URL}\nspring.datasource.username=${SPRING_DATASOURCE_USERNAME}\nspring.datasource.password=${SPRING_DATASOURCE_PASSWORD}\n```\n\n## Endpoints\n\nThe application provides various endpoints, detailed below. The context path is `/integranf`.\n\n### Authentication\n\n- **POST** `/auth/login`: User authentication.\n    - Request Body: `{\"email\": \"user@example.com\", \"password\": \"password\"}`\n    - Response: `{\"token\": \"jwt_token\"}`\n\n- **POST** `/auth/register`: Register new users.\n    - Request Body: `{\"email\": \"user@example.com\", \"password\": \"password\", ...}`\n    - Response: `{\"id\": 1, \"email\": \"user@example.com\", ...}`\n\n### Users\n\n- **GET** `/user`: Lists all paginated users.\n    - Query Params: `page`, `size`\n    - Response: `[{\"id\": 1, \"name\": \"John Doe\", ...}, ...]`\n\n- **PATCH** `/user/{id}`: Updates user information.\n    - Path Param: `id` (User ID)\n    - Request Body: `{\"name\": \"New Name\", ...}`\n    - Response: `{\"id\": 1, \"name\": \"New Name\", ...}`\n\n### User Types\n\n- **GET** `/user-type`: Lists all user types.\n    - Response: `[{\"id\": 1, \"type\": \"Admin\", ...}, ...]`\n\n### Subscription Types\n\n- **POST** `/subscription-type`: Creates a new subscription type.\n    - Request Body: `{\"type\": \"Premium\", \"duration\": 12, ...}`\n    - Response: `{\"id\": 1, \"type\": \"Premium\", ...}`\n\n- **GET** `/subscription-type`: Lists all paginated subscription types.\n    - Query Params: `page`, `size`, `enabled`\n    - Response: `[{\"id\": 1, \"type\": \"Premium\", ...}, ...]`\n\n### Subscriptions\n\n- **POST** `/subscriptions/select`: Assigns a subscription to an authenticated user.\n    - Request Body: `{\"subscriptionTypeId\": 1, ...}`\n    - Response: `{\"id\": 1, \"userId\": 1, \"subscriptionTypeId\": 1, ...}`\n\n### Gateways\n\n- **POST** `/gateway`: Creates a new gateway.\n    - Request Body: `{\"name\": \"Gateway1\", ...}`\n    - Response: `{\"id\": 1, \"name\": \"Gateway1\", ...}`\n\n- **GET** `/gateway`: Lists all gateways.\n    - Response: `[{\"id\": 1, \"name\": \"Gateway1\", ...}, ...]`\n\n- **POST** `/gateway/integrations`: Registers a user integration with a gateway.\n    - Request Body: `{\"userId\": 1, \"gatewayId\": 1, ...}`\n    - Response: `{\"id\": 1, \"userId\": 1, \"gatewayId\": 1, ...}`\n\n- **GET** `/gateway/integrations`: Lists all user integrations with gateways, paginated.\n    - Query Params: `page`, `size`\n    - Response: `[{\"id\": 1, \"userId\": 1, \"gatewayId\": 1, ...}, ...]`\n\n## About the Project\n\nThis project was developed during the **Mentoria Start by Rasmoo**. Learn more at [Rasmoo](https://rasmoo.com/).\n\n## Contribution\n\n1. Fork the repository.\n2. Create a new branch for your feature (`git checkout -b feature/new-feature`).\n3. Commit your changes (`git commit -am 'Add new feature'`).\n4. Push to the branch (`git push origin feature/new-feature`).\n5. Open a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE.md file for details.\n\n## Contact\n\n- LinkedIn: [Gabriel Rocha](https://linkedin.com/in/gabriel-rocha-28ab8414b)\n\n---\n\nMade with ❤️ by [Gabriel Rocha](https://github.com/GabrielRochaFC)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielrochafc%2Fintegranotafiscal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielrochafc%2Fintegranotafiscal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielrochafc%2Fintegranotafiscal/lists"}