{"id":19954209,"url":"https://github.com/code100x/tiplink","last_synced_at":"2025-10-06T23:10:12.766Z","repository":{"id":250954705,"uuid":"835840607","full_name":"code100x/tiplink","owner":"code100x","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-11T16:43:58.000Z","size":6227,"stargazers_count":191,"open_issues_count":21,"forks_count":202,"subscribers_count":14,"default_branch":"dev","last_synced_at":"2025-05-24T22:10:02.678Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/code100x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","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":"2024-07-30T16:25:11.000Z","updated_at":"2025-05-24T11:36:49.000Z","dependencies_parsed_at":"2024-08-28T15:04:43.967Z","dependency_job_id":"adc0f6da-4a0c-4138-bda0-66ea8f542bee","html_url":"https://github.com/code100x/tiplink","commit_stats":{"total_commits":176,"total_committers":37,"mean_commits":4.756756756756757,"dds":0.8693181818181819,"last_synced_commit":"85a1dd6af3071360ce97a36253345eb66898d7e8"},"previous_names":["code100x/tiplink"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/code100x/tiplink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Ftiplink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Ftiplink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Ftiplink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Ftiplink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code100x","download_url":"https://codeload.github.com/code100x/tiplink/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Ftiplink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278692986,"owners_count":26029412,"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-10-06T02:00:05.630Z","response_time":65,"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":"2024-11-13T01:19:14.490Z","updated_at":"2025-10-06T23:10:12.724Z","avatar_url":"https://github.com/code100x.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DISCLAIMER\n\n### We have ended up rewriting the commit history due to a faulty commit, let's take this as a learning to double check our triple checks before making a PR, just to get a PR merged you don't have to rush, you have ample time to work on an issue once assigned, depending on the magnitude of the issue, anyways due to the same you have to take a fresh fork if you are a recurring contributor and if you are a new contributor, do keep this in mind and start contributing, you are good to go \n\n# Project Name: Tiplink\n\n### The following description is going to be updated once the project is complete till then look for all the research and development related progress here at this [Notion Page](https://axatbhardwaj.notion.site/Tiplink-47ebac1bab1b484d89fc5476c9860202?pvs=4)\n\n## Table of Content\n\n- [Description](https://github.com/code100x/tiplink#description)\n- [Features](https://github.com/code100x/tiplink#features)\n- [Technologies](https://github.com/code100x/tiplink#technologies)\n- [Getting Started](https://github.com/code100x/tiplink#getting-started)\n- [Contributing](https://github.com/code100x/tiplink#contributing)\n\n## Description\n\nTiplink is a Web Based Solana wallet. Users can sign up using their Google credentials, upon which a Solana wallet is automatically created and linked to their account. The application securely stores the user's public key \u0026 private key, allowing seamless interaction with the Solana blockchain. Also it provides features like making transactions on Solana possible through Links.\n\n## Features\n\n- **User Registration with Google OAuth:** Secure and easy registration using Google credentials.\n\n- **Crypto Wallet Generation:** Automatic creation of a Solana wallet for each registered user.\n\n- **Public Key Management:** Secure storage and retrieval of user public keys.\n\n## Technologies\n\n- **Web-app:** Next.js, TypeScript\n- **Database:** PostgreSQL, Prisma ORM\n- **Authentication:** Google OAuth via next-auth\n- **Blockchain:** Solana\n\n## Getting Started\n\nUsing Docker:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/code100x/tiplink\n   ```\n2. Navigate to the project directory:\n   ```bash\n   cd tiplink\n   ```\n3. Create a .env file in the root folder of your project. Update it following the convention of the .env.example file. \n   Here's an example:\n   ```bash\n    CLIENT_SECRET = '' #Get it from Google developers console\n    CLIENT_ID = '' #Get it from Google developers console\n    NEXTAUTH_SECRET = '' \n    NEXTAUTH_URL = '' #Your frontend base URL\n    #DATABASE_URL = 'postgresql://postgres:password@localhost:5432/mydatabase'   \n    DATABASE_URL = 'postgresql://postgres:password@postgres:5432/mydatabase'  #Use this for setting up docker\n    NEXT_PUBLIC_SOLANA_RPC = '' #Your Custom Solana RPC URL\n   ```\n4. To generate AUTH_SECRET,\n\n   Run this command in your terminal:\n\n   ```bash\n   openssl rand -base64 33\n   ```\n\n   or\n\n   [Run in browser](https://www.cryptool.org/en/cto/openssl/)\n\n5. Run the following command in your root to start the application:\n   ```bash\n   docker compose up\n   ```\nWithout Docker\n\n### Without Docker\n\n1. clone the repository:\n   ```bash\n   git clone https://github.com/code100x/tiplink.git\n   ```\n\n2. (optional) Start a PostgreSQL database using Docker:\n   ```bash\n   docker run -d \\\n       --name tiplink-db \\\n       -e POSTGRES_USER=myuser \\\n       -e POSTGRES_PASSWORD=mypassword \\\n       -e POSTGRES_DB=mydatabase \\\n       -p 5432:5432 \\\n       postgres\n   ```\n   based on this command the connection url will be\n   ```\n   DATABASE_URL=postgresql://myuser:mypassword@localhost:5432/mydatabase?schema=public\n   ```\n3. Create a .env file based on the .env.example file and configure the DATABASE_URL with your postgreSQL connection string.\n4. Install dependencies:\n   ```bash\n   npm install\n   ```\n5. Run database migrations:\n   ```bash\n   npx prisma generate\n   ```\n6. Seed the database:\n   ```bash\n   npm run db:push\n   ```\n7. Start the development server:\n   ```bash\n   npm run dev\n   ```\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute to the Tiplink project, please fork the repository and submit a pull request.\n\n- `github/pull_request_template.md`: Template for pull requests.\n- `github/issue_template.md`: Template for issues.\n\n## Resource Reference Section for various pieces of the project\n\n### For reading up on AWS KMS: \n- [AWS KMS Docs](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/js-examples.html)\n- [Data Encryption on AWS](https://enlear.academy/data-encryption-on-aws-8d6be6033351)\n- [AWS Encryption SDK Guide](https://enlear.academy/aws-encryption-sdk-d38bfae40e9f)\n\n### For reading up on GCP KMS: \n- [GCP KMS Docs](https://cloud.google.com/nodejs/docs/reference/kms/latest)\n- [Video Guide for GCP on Google Cloud Tech](https://www.youtube.com/watch?v=WKZC93y-aWI)\n\n### Note\n\nPlease take an updated pull from the dev branch, and request branches for further features or services we need to add, and make pull requests to the relevant branches, not the main branch itself\n\n- **main** - Stable branch\n- **dev** - Branch for all the developer changes (Where your code will reside before moving to production)\n- **dev-backend**- Branch for all developer changes in the backend\n- **dev-backend/*** - Branch for changes in specific features within the backend \n- **dev-frontend** - Branch for all developer changes in the frontend\n- **dev-frontend/*** - Branch for changes in specific features within the frontend\n\n## License\n\nTiplink is licensed under the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode100x%2Ftiplink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode100x%2Ftiplink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode100x%2Ftiplink/lists"}