{"id":31037243,"url":"https://github.com/openbankproject/api-manager-ii","last_synced_at":"2025-09-14T04:56:20.354Z","repository":{"id":314461808,"uuid":"1049997571","full_name":"OpenBankProject/API-Manager-II","owner":"OpenBankProject","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-12T14:43:59.000Z","size":188,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-12T16:58:09.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenBankProject.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-03T19:51:39.000Z","updated_at":"2025-09-12T14:44:02.000Z","dependencies_parsed_at":"2025-09-12T16:58:18.172Z","dependency_job_id":"9b16bb69-2389-4ca5-90ab-a8a3f573dc62","html_url":"https://github.com/OpenBankProject/API-Manager-II","commit_stats":null,"previous_names":["openbankproject/api-manager-ii"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/OpenBankProject/API-Manager-II","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBankProject%2FAPI-Manager-II","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBankProject%2FAPI-Manager-II/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBankProject%2FAPI-Manager-II/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBankProject%2FAPI-Manager-II/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenBankProject","download_url":"https://codeload.github.com/OpenBankProject/API-Manager-II/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBankProject%2FAPI-Manager-II/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275062961,"owners_count":25398887,"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","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"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":[],"created_at":"2025-09-14T04:56:18.564Z","updated_at":"2025-09-14T04:56:20.346Z","avatar_url":"https://github.com/OpenBankProject.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Manager II\n\nA modern web application for managing Open Bank Project (OBP) APIs, built with SvelteKit, TypeScript, and Tailwind CSS.\n\n## Overview\n\nAPI Manager II provides an intuitive interface for managing and monitoring Open Bank Project APIs. It features OAuth2/OIDC authentication, real-time metrics monitoring, and comprehensive API management capabilities.\n\n## Features\n\n- **OAuth2/OIDC Authentication**: Secure authentication with OBP servers\n- **API Metrics Monitoring**: Real-time API call metrics with filtering and refresh capabilities\n- **Recent API Calls**: Live tracking of API usage with detailed information\n- **Responsive Design**: Modern UI built with Tailwind CSS and Skeleton UI\n- **Session Management**: Redis-based session storage\n- **TypeScript Support**: Full type safety throughout the application\n\n## Tech Stack\n\n- **Frontend**: SvelteKit, TypeScript, Tailwind CSS\n- **UI Components**: Skeleton Labs, Lucide Icons, Bits UI\n- **Authentication**: Arctic (OAuth2/OIDC), JWT\n- **Session Storage**: Redis with svelte-kit-sessions\n- **Build Tool**: Vite\n- **Testing**: Vitest\n\n## Prerequisites\n\n- Node.js 18+\n- Redis server\n- Open Bank Project (OBP) server with OAuth2 configured\n\n## Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone git@github.com:OpenBankProject/API-Manager-II.git\n   cd API-Manager-II\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Configure environment variables**\n\n   ```bash\n   cp .env.example .env\n   ```\n\n   Edit `.env` with your configuration:\n\n   ```env\n   # OBP API Configuration\n   PUBLIC_OBP_BASE_URL=http://127.0.0.1:9000\n\n   # OAuth Client Configuration\n   OBP_OAUTH_CLIENT_ID=your-client-id\n   OBP_OAUTH_CLIENT_SECRET=your-client-secret\n\n   # Application Configuration\n   APP_CALLBACK_URL=http://localhost:3003/login/obp/callback\n\n   # Redis Configuration\n   REDIS_HOST=localhost\n   REDIS_PORT=6379\n\n   # Server Configuration\n   PORT=3003\n   ```\n\n4. **Start Redis server**\n\n   ```bash\n   redis-server\n   ```\n\n5. **Run the development server**\n   ```bash\n   npm run dev\n   ```\n\nThe application will be available at `http://localhost:3003`.\n\n## Configuration\n\n### OAuth Setup\n\n1. Register your application with your OBP server\n2. Configure the callback URL: `http://localhost:3003/login/obp/callback`\n3. Update your `.env` file with the client credentials\n\nFor detailed OAuth setup instructions, see [SETUP_GUIDE.md](./SETUP_GUIDE.md).\n\n## Development\n\n### Available Scripts\n\n- `npm run dev` - Start development server on port 3003\n- `npm run build` - Build for production\n- `npm run preview` - Preview production build\n- `npm run check` - Type check the project\n- `npm run format` - Format code with Prettier\n- `npm run lint` - Check code formatting\n- `npm run test` - Run unit tests\n- `npm run test:watch` - Run tests in watch mode\n- `npm run test:coverage` - Run tests with coverage\n\n### Project Structure\n\n```\nsrc/\n├── lib/\n│   ├── components/     # Reusable UI components\n│   ├── stores/         # Svelte stores for state management\n│   └── utils/          # Utility functions\n├── routes/\n│   ├── (protected)/    # Protected routes requiring authentication\n│   │   └── management/ # API management features\n│   │       ├── api/    # API management pages\n│   │       └── metrics/ # Metrics and monitoring\n│   ├── login/          # Authentication routes\n│   └── logout/         # Logout handling\n└── hooks.server.ts     # Server-side hooks\n```\n\n## Features Detail\n\n### Metrics Dashboard\n\n- Real-time API metrics with auto-refresh (configurable intervals)\n- Advanced filtering by date ranges, API versions, and more\n- Visual countdown indicators for refresh timing\n- Color-coded timestamps for visual feedback\n\n### API Management\n\n- Comprehensive API endpoint management\n- Real-time API call monitoring\n- Detailed request/response tracking\n\n### Authentication\n\n- Multi-provider OAuth2/OIDC support\n- Secure session management with Redis\n- Automatic token refresh handling\n- Fallback authentication mechanisms\n\n## Deployment\n\n### Production Build\n\n```bash\nnpm run build\n```\n\n### Docker (Coming Soon)\n\nDocker configuration will be available in future releases.\n\n### Environment Variables\n\nEnsure all production environment variables are properly configured:\n\n- `PUBLIC_OBP_BASE_URL` - Your OBP server URL\n- `OBP_OAUTH_CLIENT_ID` - OAuth client ID\n- `OBP_OAUTH_CLIENT_SECRET` - OAuth client secret\n- `APP_CALLBACK_URL` - Production callback URL\n- `REDIS_HOST` - Redis server host\n- `REDIS_PORT` - Redis server port\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support and questions:\n\n- Open an issue on GitHub\n- Check the [SETUP_GUIDE.md](./SETUP_GUIDE.md) for configuration help\n- Review the project documentation\n\n## Related Projects\n\n- [Open Bank Project](https://github.com/OpenBankProject/OBP-API) - The core OBP API server\n- [API Explorer](https://github.com/OpenBankProject/API-Explorer) - Interactive API documentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbankproject%2Fapi-manager-ii","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbankproject%2Fapi-manager-ii","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbankproject%2Fapi-manager-ii/lists"}