{"id":24653311,"url":"https://github.com/mayocream/pfn_coding","last_synced_at":"2026-04-08T20:51:34.357Z","repository":{"id":273286549,"uuid":"879611349","full_name":"mayocream/pfn_coding","owner":"mayocream","description":"PFN Coding","archived":false,"fork":false,"pushed_at":"2024-10-28T14:00:55.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T17:18:36.487Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/mayocream.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}},"created_at":"2024-10-28T08:31:55.000Z","updated_at":"2025-01-12T08:21:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"f83dd8c9-e10a-4014-8175-9cc8993bdfff","html_url":"https://github.com/mayocream/pfn_coding","commit_stats":null,"previous_names":["mayocream/pfn_coding"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mayocream/pfn_coding","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayocream%2Fpfn_coding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayocream%2Fpfn_coding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayocream%2Fpfn_coding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayocream%2Fpfn_coding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mayocream","download_url":"https://codeload.github.com/mayocream/pfn_coding/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayocream%2Fpfn_coding/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31573788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2025-01-25T20:14:36.446Z","updated_at":"2026-04-08T20:51:34.349Z","avatar_url":"https://github.com/mayocream.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RESTful API Server\n\n## Description\n\nPFN Coding Challenge (5)\n\nHTTP RESTful API server that provides the following endpoints:\n\n- `POST /signup`: Create a new user\n- `GET /users/{user_id}`: Get user information\n- `PATCH /users/{user_id}`: Update user information\n- `POST /close`: Delete user\n\n### Requirements\n\n- [x] JSON Responses\n- [x] RESTful API\n- [x] Deployment on any cloud provider\n\n### Bonus\n\n- [x] Dockerfile\n- [x] Kubernetes deployment manifests\n\n## Implementation\n\nAs the challenge requires a RESTful API server, I implemented the server using Go with best practices in mind.\n\nThe RESTful API server is implemented in Go. The server uses the following libraries:\n\n- uber/fx for dependency injection\n- fiber for HTTP server\n- ent for ORM\n- validator for request validation\n\nThe account storage repository is implemented using ent ORM. It could be stored in any SQL database supported by ent, such as MySQL, PostgreSQL, SQLite, and CockroachDB.\n\nThe server is deployed on Google Cloud Run. The server uses in-memory SQLite for the database as it's for demonstration purposes only. **In production, you should use a real database.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayocream%2Fpfn_coding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmayocream%2Fpfn_coding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayocream%2Fpfn_coding/lists"}