{"id":14986540,"url":"https://github.com/ra42-y/api-platform-backend","last_synced_at":"2026-02-14T09:06:31.713Z","repository":{"id":154830147,"uuid":"609692461","full_name":"RA42-y/api-platform-backend","owner":"RA42-y","description":"API open platform based on React and Spring Boot that provides a centralized solution for management and utilization of APIs, with advanced features for monitoring and analysis. (Backend)","archived":false,"fork":false,"pushed_at":"2023-04-15T15:40:53.000Z","size":925,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-26T12:26:29.853Z","etag":null,"topics":["java","open-api","react","spring-boot","spring-cloud-gateway"],"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/RA42-y.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-03-04T23:55:37.000Z","updated_at":"2024-04-30T08:25:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"a57de5b5-4a5e-4ad8-8afe-815b5f3cf159","html_url":"https://github.com/RA42-y/api-platform-backend","commit_stats":{"total_commits":5,"total_committers":2,"mean_commits":2.5,"dds":"0.19999999999999996","last_synced_commit":"40eaab0512b8c8a97c25c5f5a488e12adaee937f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RA42-y%2Fapi-platform-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RA42-y%2Fapi-platform-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RA42-y%2Fapi-platform-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RA42-y%2Fapi-platform-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RA42-y","download_url":"https://codeload.github.com/RA42-y/api-platform-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244836064,"owners_count":20518376,"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":["java","open-api","react","spring-boot","spring-cloud-gateway"],"created_at":"2024-09-24T14:13:06.537Z","updated_at":"2025-10-07T07:32:00.266Z","avatar_url":"https://github.com/RA42-y.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Open Platform (backend)\n\n\u003e API open platform based on React and Spring Boot that provides a centralized solution for management and utilization of APIs, with advanced features for monitoring and analysis.\n\nBackend repository: https://github.com/RA42-y/api-platform-backend\n\nFrontend repository: https://github.com/RA42-y/api-platform-frontend\n\n## Features\n\n- **Interface Access:** Users can view and invoke a variety of APIs provided on the platform, allowing them to perform various tasks and obtain information.\n- **Interface Authentication:** The platform supports authentication mechanisms to ensure that only authorized users can access APIs.\n- **Interface Management:** Administrators can publish, update, and take offline APIs as needed, allowing them to control the availability of resources.\n- **Interface Utilization Analysis:** The platform tracks the number of API invocations made by users to help administrators monitor usage.\n- **Interface Documentation:** The platform provides comprehensive documentation for each API, allowing users to easily understand their functionality and usage.\n\n## Tech Stack\n\n### Frontend\n\n**Main technologies:**\n\n- ⚛️ React 18: JavaScript library for building user interfaces.\n- 🍚 Umi 4: Extensible enterprise-level front-end application framework based on React.\n- 🚪 Open API: Specification for building APIs.\n- 💼 TypeScript: Superset of JavaScript that provides type safety for code.\n\n**Dependent libraries:**\n\n- 🎨 Ant Design Pro: UI design system and React-based UI library.\n\n### Backend\n\n**Main technologies:**\n\n- ☕️ Java: Popular programming language.\n- 🍃 Spring Boot: Java framework for fast and easy application development.\n- 🗄️ MySQL: Powerful relational database for scalable and reliable data storage.\n- 🏢 MyBatis: Persistence layer framework for easy interaction with the database.\n- 🚀 Dubbo RPC: High-performance, open-source RPC framework.\n- 📜 Nacos: Dynamic service discovery and configuration management platform.\n- 🔒 API Signature Authentication: Mechanism for authenticating API requests.\n- 🚪 Spring Cloud Gateway: Gateway for building API management systems.\n\n**Dependent libraries:**\n\n- 🧩 MyBatis X: Configuration plugin for generating configuration files for MyBatis.\n- 🗝️ Spring Boot Starter: Set of starter dependencies for Spring Boot.\n- 📈 Apache Echarts: Data visualization library for building charts and graphs.\n- 📚 Swagger + Knife4j: Library for organizing interface documentation.\n- 🗃️ Hutool: Java library for simplifying common tasks.\n- 🍬 Gson: Java library for serializing and deserializing JSON data.\n\n## Getting Started\n\n### Install\n\n#### Backend\n\n1. Clone the backend Git repository to your local machine:\n\n    ```shell\n    git clone https://github.com/RA42-y/api-platform-backend.git\n    ```\n\n##### api-client\n\n2. Navigate to the api-client directory:\n\n    ```shell\n    cd api-platform-backend/api-client\n    ```\n\n\n3. Install Maven dependencies:\n\n    ```shell\n    mvn clean install\n    ```\n\n4. Build and install SDK to your local Maven repository:\n\n    ```shell\n    mvn package\n    mvn install\n    ```\n\n##### api-interface\n\n5. Navigate to the api-interface directory:\n\n    ```shell\n    cd api-platform-backend/api-interface\n    ```\n\n6. Install Maven dependencies:\n\n    ```shell\n    mvn clean install\n    ```\n\n7. Start the application:\n\n    ```shell\n    mvn spring-boot:run\n    ```\n\n    The interface will start on port `8123`.\n\n\n##### api-gateway\n\n8. Download and start Nacos service:\n\n    - Follow the the instructions provided in [official Nacos documentation](https://nacos.io/en-us/docs/quick-start.html) to Install\n\n    - Start the Nacos server\n\n        ```shell\n        cd nacos/bin\n        sh startup.sh -m standalone\n        ```\n\n9. Navigate to the api-gateway directory:\n\n    ```shell\n    cd api-platform-backend/api-gateway\n    ```\n\n10. Install Maven dependencies:\n\n    ```shell\n    mvn clean install\n    ```\n\n11. Start the application:\n\n     ```shell\n     mvn spring-boot:run\n     ```\n\n     The gateway will start on port `8090`.\n\n##### api-backend\n\n12. Navigate to the backend directory:\n\n    ```shell\n    cd api-platform-backend\n    ```\n\n13. Install Maven dependencies:\n\n    ```shell\n    mvn clean install\n    ```\n\n14. Configure MySQL database:\n\n    - Create a new MySQL database named `api`.\n    - Update the MySQL connection details in the `application.yml` file located in `friend-match-backend/src/main/resources/application.yml`. Set the values for `spring.datasource.url`, `spring.datasource.username`, and `spring.datasource.password`.\n    - Initialize the database with the sql file provided `sql/db.sql`.\n\n15. Start Redis:\n\n    ```shell\n    redis-server\n    ```\n\n    If Redis is not installed, please follow the instructions provided in the [official Redis documentation](https://redis.io/topics/quickstart).\n\n16. Start the application:\n\n    ```shell\n    mvn spring-boot:run\n    ```\n\n    The backend application will start on port `7529`. The online RESTful APIs Documentation will be on `http://localhost:7529/api/doc.html#/home`.\n\nCongratulations! You have successfully installed and started the backend application. Now, you can proceed to set up the frontend application.\n\n#### Frontend\n\n17. Clone the frontend Git repository to your local machine:\n\n    ```shell\n    git clone https://github.com/RA42-y/api-platform-frontend.git\n    ```\n\n18. Navigate to the frontend directory:\n\n    ```shell\n    cd api-platform-frontend\n    ```\n\n19. Install project dependencies:\n\n    ```shell\n    npm install\n    ```\n\n20. Start the frontend application:\n\n    ```shell\n    npm run start:dev\n    ```\n\n    The frontend application will start on `http://localhost:8000`.\n\nCongratulations! You have successfully installed and started the frontend application. Now, you can open the application in your web browser and start using it.\n\n## Interface\n\n### Main page\n\nThe main page is the landing page of the application and displays a list of interfaces. By clicking on an interface, users can access detailed information and test it online.\n\n![interface](assets/interface.png)\n\n![interface-info](assets/interface-info.png)\n\n### Admin pages\n\n#### Management\n\nThe Interface Management page enables administrators to add, modify, publish, take offline and remove APIs.\n\n![admin-management](assets/admin-management.png)\n\n#### Analysis\n\nThe Interface Analysis page enables administrators to monitor usage of APIs.\n\n![admin-analysis](assets/admin-analysis.png)\n\n## API\n\nThe online RESTful APIs Documentation will be on http://localhost:7529/api/doc.html#/home after the application is started.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fra42-y%2Fapi-platform-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fra42-y%2Fapi-platform-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fra42-y%2Fapi-platform-backend/lists"}