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
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
Tiplink 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 & private key, allowing seamless interaction with the Solana blockchain. Also it provides features like making transactions on Solana possible through Links.
-
User Registration with Google OAuth: Secure and easy registration using Google credentials.
-
Crypto Wallet Generation: Automatic creation of a Solana wallet for each registered user.
-
Public Key Management: Secure storage and retrieval of user public keys.
- Web-app: Next.js, TypeScript
- Database: PostgreSQL, Prisma ORM
- Authentication: Google OAuth via next-auth
- Blockchain: Solana
Using Docker:
-
Clone the repository:
git clone https://github.com/code100x/tiplink
-
Navigate to the project directory:
cd tiplink
-
Create a .env file in the root folder of your project. Update it following the convention of the .env.example file. Here's an example:
CLIENT_SECRET = '' #Get it from Google developers console CLIENT_ID = '' #Get it from Google developers console NEXTAUTH_SECRET = '' NEXTAUTH_URL = '' #Your frontend base URL #DATABASE_URL = 'postgresql://postgres:password@localhost:5432/mydatabase' DATABASE_URL = 'postgresql://postgres:password@postgres:5432/mydatabase' #Use this for setting up docker NEXT_PUBLIC_SOLANA_RPC = '' #Your Custom Solana RPC URL
-
To generate AUTH_SECRET,
Run this command in your terminal:
openssl rand -base64 33
or
-
Run the following command in your root to start the application:
docker compose up
Without Docker
-
clone the repository:
git clone https://github.com/code100x/tiplink.git
-
(optional) Start a PostgreSQL database using Docker:
docker run -d \ --name tiplink-db \ -e POSTGRES_USER=myuser \ -e POSTGRES_PASSWORD=mypassword \ -e POSTGRES_DB=mydatabase \ -p 5432:5432 \ postgres
based on this command the connection url will be
DATABASE_URL=postgresql://myuser:mypassword@localhost:5432/mydatabase?schema=public
-
Create a .env file based on the .env.example file and configure the DATABASE_URL with your postgreSQL connection string.
-
Install dependencies:
npm install
-
Run database migrations:
npx prisma generate
-
Seed the database:
npm run db:push
-
Start the development server:
npm run dev
Contributions are welcome! If you'd like to contribute to the Tiplink project, please fork the repository and submit a pull request.
github/pull_request_template.md
: Template for pull requests.github/issue_template.md
: Template for issues.
Please 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
- main - Stable branch
- dev - Branch for all the developer changes (Where your code will reside before moving to production)
- dev-backend- Branch for all developer changes in the backend
- dev-backend/* - Branch for changes in specific features within the backend
- dev-frontend - Branch for all developer changes in the frontend
- dev-frontend/* - Branch for changes in specific features within the frontend
Tiplink is licensed under the MIT License.