{"id":24487316,"url":"https://github.com/rizanw/crypto-price-tracker","last_synced_at":"2026-05-19T11:31:36.228Z","repository":{"id":240266926,"uuid":"802091937","full_name":"rizanw/crypto-price-tracker","owner":"rizanw","description":"Backend restful API to track cryptocurrency in IDR using golang and sqlite","archived":false,"fork":false,"pushed_at":"2024-05-18T13:02:28.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T15:45:28.240Z","etag":null,"topics":["backend","crypto","golang","jwt-authentication","restful-api","session","sqlite"],"latest_commit_sha":null,"homepage":"","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/rizanw.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}},"created_at":"2024-05-17T14:03:28.000Z","updated_at":"2024-05-30T02:40:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd2a2969-3683-458c-8092-91f7e597c2db","html_url":"https://github.com/rizanw/crypto-price-tracker","commit_stats":null,"previous_names":["rizanw/crypto-price-tracker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizanw%2Fcrypto-price-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizanw%2Fcrypto-price-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizanw%2Fcrypto-price-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizanw%2Fcrypto-price-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rizanw","download_url":"https://codeload.github.com/rizanw/crypto-price-tracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658270,"owners_count":20326467,"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":["backend","crypto","golang","jwt-authentication","restful-api","session","sqlite"],"created_at":"2025-01-21T15:36:26.238Z","updated_at":"2026-05-19T11:31:36.180Z","avatar_url":"https://github.com/rizanw.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crypto Price Tracker\n\n# Overview\n\nBackend restful API to track cryptocurrency in IDR using golang and sqlite. It has authentication using jwt token and\nsession manager. the session manager is simulated using golang hashmap variable, for large scale up in future we can\nreplace it using cache or persistent storage. Crypto rates source is from https://docs.coincap.io.\n\n## Features\n\nendpoint list:\n\n- sign-up (email, password, password_confirm)\n- sign-in (email, password)\n- sign-out (bearer token)\n- get user coins (bearer token)\n- add coin to user (bearer token | coin)\n- remove coin to user (bearer token | coin)\n\nfurther endpoint description, kindly check postman collection.\n\n# Postman Collection\n\nCheck the postman collection here:\nhttps://www.postman.com/navigation-candidate-18708542/workspace/crypto-price-tracker/overview\n\n# Local Development\n\n## Prerequisites\n\nMake sure you have installed all the following prerequisites on your development machine:\n\n* go version : [1.19](https://golang.org/dl/)\n\n## Local Run Guides:\n\nTo clone this repo:\n\n```bash\ngit clone https://github.com/rizanw/crypto-price-tracker.git\n```\n\nTo build and start the apps:\n\n- build the binaries:\n\n```bash \nmake build\n```\n\n- start the app:\n\n```bash \nmake run\n```\n\n## Unit Test\n\nTo run unit test\n\n```bash\nmake test\n```\n\n# Project Structure\n\n- `bin/` is directory for compiled binary\n- `cmd/` is the main program directory\n- `files/` contains app files (including db \u0026 config)\n    - `file/db` contains sqlite db directory\n    - `file/etc/crypto-tracker` contains app config files\n- `internal/` contains the whole logic of the app\n    - `internal/common` contains helper functions\n        - `internal/common/middleware` is for http middleware for client\n        - `internal/common/session` is the session manager for auth\n    - `internal/config` is the config of the app, has relation to files directory\n    - `internal/handler` is application logic interface between this app with client\n    - `internal/model` is model business design\n    - `internal/repo` is the repositories to fetch/store data of this app\n    - `internal/usecase` is main business logic\n- `go.mod` the golang dependencies list","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizanw%2Fcrypto-price-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frizanw%2Fcrypto-price-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizanw%2Fcrypto-price-tracker/lists"}