{"id":19711887,"url":"https://github.com/ricoledan/team-cookie-capstone","last_synced_at":"2026-04-29T21:07:06.215Z","repository":{"id":178993365,"uuid":"662338817","full_name":"Ricoledan/team-cookie-capstone","owner":"Ricoledan","description":"🍪 This capstone project addresses a use case in which a local government agency manages and issues identification documents such as a driver's license. ","archived":false,"fork":false,"pushed_at":"2023-07-13T12:58:25.000Z","size":52885,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T19:57:57.692Z","etag":null,"topics":["ethereum","ganache","nextjs","node","truffle","web3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Ricoledan.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":"2023-07-04T23:17:13.000Z","updated_at":"2024-09-06T17:32:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"d7405155-fbd3-4c1a-9fa7-61445d4beb31","html_url":"https://github.com/Ricoledan/team-cookie-capstone","commit_stats":null,"previous_names":["ricoledan/team-cookie-capstone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ricoledan/team-cookie-capstone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ricoledan%2Fteam-cookie-capstone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ricoledan%2Fteam-cookie-capstone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ricoledan%2Fteam-cookie-capstone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ricoledan%2Fteam-cookie-capstone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ricoledan","download_url":"https://codeload.github.com/Ricoledan/team-cookie-capstone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ricoledan%2Fteam-cookie-capstone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32443631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["ethereum","ganache","nextjs","node","truffle","web3"],"created_at":"2024-11-11T22:14:30.500Z","updated_at":"2026-04-29T21:07:06.183Z","avatar_url":"https://github.com/Ricoledan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Team Cookie Capstone Project\n\n🍪 This capstone project addresses a use case in which a local government agency manages and issues identification\ndocuments such as a driver's license.\nThe agency is looking to modernize its processes by leveraging a\nblockchain solution to address slow processing times for renewing and issuing licenses, verifying the authenticity of a\nlicense, and allowing the identity to be traced between different government agencies with varying access levels.\nAdditionally, the agency wants to provide citizens with more security and privacy over their personal\ninformation.\n\n## Contents\n\n- [Features](#features)\n- [Team Members](#team-members)\n- [Components](#components)\n- [Project Structure](#project-structure)\n- [Quick Start](#quick-start)\n\n## Features\n\n- **Decentralized Identity**: The solution allows citizens to create a decentralized identity that is stored on the\n  blockchain.\n  The identity is composed of a public key and a private key.\n  The public key is used to verify the identity\n  of the citizen, while the private key is used to sign transactions and prove ownership of the identity.\n- **License Issuance**: The solution allows citizens to request a new license or renew an existing license. The\n  government agency can then approve or reject the request. If approved, the citizen's identity is stored on the\n  blockchain and the citizen is issued a license.\n- **License Verification**: The solution allows citizens to verify the authenticity of a license by scanning the QR code\n  on the license.\n  The QR code contains the citizen's public key, which can be used to verify the identity of the\n  citizen.\n- **License Traceability**: The solution allows government agencies to trace the identity of a citizen between different\n  agencies.\n  For example, a police officer can verify the identity of a citizen by scanning the QR code on the citizen's\n  license.\n  The QR code contains the citizen's public key, which can be used to verify the identity of the citizen.\n  The\n  police officer can then use the public key to trace the identity of the citizen to the government agency that issued\n  the license.\n- **Privacy**: The solution allows citizens to control the amount of information that is shared with government\n  agencies.\n  For example, a citizen can choose to share their name and address with the government agency that issued their license\n  but not with other government agencies.\n  The citizen can also choose to share their name and address with all\n  government agencies or not share any information at all.\n- **Security**: The solution allows citizens to control the amount of information that is shared with government\n  agencies. For example, a citizen can choose to share their name and address with the government agency that issued\n  their license but not with other government agencies. The citizen can also choose to share their name and address with\n  all government agencies or not share any information at all.\n\n## Team Members\n\n- [Jessica Bilston](https://www.linkedin.com/in/jessica-bilston-cpa-ca-672849104/)\n- [Nishit Shetty](https://www.linkedin.com/in/nishitsh/)\n- [Blake Tobias](https://www.linkedin.com/in/blake-tobias-cpa-555899114)\n- [Ricardo Ledan](https://www.linkedin.com/in/ricardoledan/)\n\n## Components\n\n### Next.js\n\n[Next.js](https://nextjs.org/) The library for web and native user interfaces.\n\n### Truffle\n\n[Truffle](https://trufflesuite.com/) The most comprehensive suite of tools for smart contract development.\n\n### Ganache\n\n[Ganache](https://trufflesuite.com/ganache/) is a personal Ethereum blockchain which you can use to run tests, execute\ncommands, and inspect state while controlling how the chain operates.\n\n### Project Structure\n\nThe project follows the following folder structure:\n\n- **root**: Contains project-level configuration files and documentation.\n- **client**: Contains the frontend code and assets.\n- **contracts**: Contains the Solidity smart contract files.\n- **migrations**: Contains the migration scripts for deploying smart contracts.\n- **test**: Contains test scripts for smart contract testing.\n\n### Quick Start\n\nSet local development to use Node version 18.16.1 (.nvmrc)\n\n```bash\nnvm use \n```\n\nInstall dependencies for the client\n\n```bash\ncd client \u0026\u0026 npm i\n```\n\nRun Ganache to run a local ethereum blockchain\n\n```bash\nganache\n```\n\nCompile and deploy contracts to the local Ganache network.\nFor testing purposes, run all migrations from the beginning,\nregardless of whether they have been previously deployed using `--reset`.\n\n```bash\ntruffle migrate — reset\n```\n\nRun the Frontend Client\n\n```bash\ncd client \u0026\u0026 npm run dev\n```\n\n### Helpful Commands\n\nTest a transaction using the Truffle console\n\n```bash\ntruffle console\n```\n\nCreates a build folder and creates a JSON representation of the contract's methods in JSON format.\n\n```bash\ntruffle compile \n```\n\nInspect a transaction on the network (truffle)\n\n```javascript\nweb3.eth.getTransaction('TRANSACTION_HASH')\n```\n\nCheck Identity Contract in truffle console\n\n```javascript\nconst instance = await Identity.deployed()\nlet accounts = await web3.eth.getAccounts()\n(async()=\u003econsole.log((await instance.getIdentityCount()).toString()))(); // check number of identities\n\n```\n\n```javascript\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricoledan%2Fteam-cookie-capstone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricoledan%2Fteam-cookie-capstone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricoledan%2Fteam-cookie-capstone/lists"}