{"id":20266597,"url":"https://github.com/gurbaaz27/iitk-coin","last_synced_at":"2025-07-16T21:07:09.897Z","repository":{"id":67103965,"uuid":"371861977","full_name":"gurbaaz27/iitk-coin","owner":"gurbaaz27","description":"IITK Coin: SnT Project, Summer 2021. Golang backend .","archived":false,"fork":false,"pushed_at":"2021-07-29T05:25:01.000Z","size":6245,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-14T05:13:16.538Z","etag":null,"topics":["acid","backend","go","golang","pseudo","sqlite-database","wallet"],"latest_commit_sha":null,"homepage":"","language":"Go","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/gurbaaz27.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":"2021-05-29T02:24:56.000Z","updated_at":"2023-03-04T09:17:53.000Z","dependencies_parsed_at":"2023-06-09T20:45:10.425Z","dependency_job_id":null,"html_url":"https://github.com/gurbaaz27/iitk-coin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurbaaz27%2Fiitk-coin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurbaaz27%2Fiitk-coin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurbaaz27%2Fiitk-coin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gurbaaz27%2Fiitk-coin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gurbaaz27","download_url":"https://codeload.github.com/gurbaaz27/iitk-coin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241746794,"owners_count":20013165,"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":["acid","backend","go","golang","pseudo","sqlite-database","wallet"],"created_at":"2024-11-14T12:10:24.601Z","updated_at":"2025-03-03T22:10:02.049Z","avatar_url":"https://github.com/gurbaaz27.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IITK Coin\n## SnT Project 2021, Programming Club \n\nThis repository contains the code for the IITKCoin, a vision of a pseudo-currency for use in the IITK Campus.\n\n### Relevant Links\n\n- [Final Submission Drive](https://drive.google.com/drive/folders/1N93J_1ouR1AXctIZZkek0YMD5_LY0LVM?usp=sharing)\n- [Midterm Evaluation presentation](https://docs.google.com/presentation/d/1kriN-7A3v1RlXUDL5NETX3roJKRMJInptkWofIxY8dg/edit?usp=sharing)\n- [Midterm Documentation](https://docs.google.com/document/d/1bvOWH4k0U-l2pQ1jLWIDzOkJ2wbHNW4jJw7tMWkUV6o/edit?usp=sharing)\n\n## Table Of Content\n- [Development Environment](#development-environment)\n- [Directory Structure](#directory-structure)\n- [Usage](#usage)\n- [Endpoints](#endpoints)\n- [Models](#models)\n\n## Development Environment\n\n```bash\n- go version: go1.16.4 linux/amd64    # https://golang.org/dl/\n- system: 5.4.72-microsoft-standard-WSL2 x86_64    # https://docs.microsoft.com/en-us/windows/wsl/install-win10\n- text editor: VSCode    \t# https://code.visualstudio.com/download\n- terminal: Zsh     \t\t# https://ohmyz.sh/\n```\n\n## Directory Structure\n```\n.\n├── Dockerfile\n├── LICENSE\n├── README.md\n├── controllers\n│   └── routes.go\n├── database\n│   └── database.go\n├── go.mod\n├── go.sum\n├── iitk-coin\n├── main.go\n├── models\n│   └── models.go\n├── redeem-database-190349.db\n├── transaction-database-190349.db\n├── user-database-190349.db\n└── wallet-database-190349.db\n\n3 directories, 14 files\n```\n\n## Usage\n```bash\ncd $GOPATH/src/github.com/\u003cusername\u003e\ngit clone https://github.com/gurbaaz27/iitk-coin.git\ncd repo\ngo run main.go     \n#, or build the program and run the executable\ngo build\n./iitk-coin\n# , or build docker image and run docker container\ndocker build -t iitk-coin .\ndocker run --rm -it -p 8080:8080 iitk-coin\n```\n\nOutput should look like\n\n```\n2021/06/20 23:59:40 User Database opened and table created (if not existed) successfully!\n2021/06/20 23:59:40 Transaction Database opened and table created (if not existed) successfully!\n2021/06/20 23:59:40 Wallet Database opened and table created (if not existed) successfully!\n2021/06/20 23:59:40 Serving at 8080\n```\n\n## Endpoints\nPOST requests take place via `JSON` requests. A typical usage would look like\n\n```bash\ncurl -d '\u003cjson-request\u003e' -H 'Content-Type: application/json' http://localhost:8080/\u003cendpoint\u003e\n```\n\n- `/login` : `POST`\n```json\n{\"name\":\"\u003cname\u003e\", \"rollno\":\"\u003crollno\u003e\", \"password\":\"\u003cpassword\u003e\"}\n```\n\n- `/signup` : `POST`\n```json\n{\"rollno\":\"\u003crollno\u003e\", \"password\":\"\u003cpassword\u003e\"}\n```\n\n- `/reward` : `POST`\n```json\n{\"rollno\":\"\u003crollno\u003e\", \"coins\":\"\u003ccoins\u003e\"}\n```\n\n- `/transfer` : `POST`\n```json\n{\"sender\":\"\u003csenderRollNo\u003e\", \"receiver\":\"\u003creceiverRollNo\u003e\", \"coins\":\"\u003ccoins\u003e\"}\n```\n\nGET requests:\n\n- `/secretpage` : `GET`\n```bash\ncurl http://localhost:8080/secretpage\n```\n\n- `/balance` : `GET`\n```bash\ncurl http://localhost:8080/balance?rollno=\u003crollno\u003e\n```\n\n## Models\n\n-  User\n```go\n\tName     string `json:\"name\"`\n\tRollno   string  `json:\"rollno\"`\n\tPassword string `json:\"password\"`\n```\n\n- RewardPayload\n```go\n\tRollno string `json:\"rollno\"`\n\tCoins  int64 `json:\"coins,string\"`\n```\n\n- TransferPayload\n```go\n\tSenderRollno   string `json:\"sender\"`\n\tReceiverRollno string `json:\"receiver\"`\n\tCoins          int64 `json:\"coins,string\"`\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurbaaz27%2Fiitk-coin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgurbaaz27%2Fiitk-coin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgurbaaz27%2Fiitk-coin/lists"}