https://github.com/jogeshwar01/tesior-web
Open Source Web3 (Solana) Bounties 💵 - One of the winners of 100xDevs Solana Superteam Hackathon
https://github.com/jogeshwar01/tesior-web
neondb next-auth nextjs open-source prisma shadcn-ui solana tailwindcss turborepo typescript upstash vercel
Last synced: 8 months ago
JSON representation
Open Source Web3 (Solana) Bounties 💵 - One of the winners of 100xDevs Solana Superteam Hackathon
- Host: GitHub
- URL: https://github.com/jogeshwar01/tesior-web
- Owner: jogeshwar01
- License: mit
- Created: 2024-05-22T08:05:10.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-16T17:52:48.000Z (almost 2 years ago)
- Last Synced: 2025-04-12T05:28:52.517Z (about 1 year ago)
- Topics: neondb, next-auth, nextjs, open-source, prisma, shadcn-ui, solana, tailwindcss, turborepo, typescript, upstash, vercel
- Language: TypeScript
- Homepage: https://tesior.jogeshwar.xyz
- Size: 2.02 MB
- Stars: 10
- Watchers: 1
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Tesior 💵
🤖 The open-source Web3 bounties platform. Built with Solana.
Learn more »
Introduction ·
Features .
Tech Stack .
Architecture .
Contributing .
Docs
## Introduction
Tesior is an advanced open-source platform tailored for the Web3 (Solana) ecosystem, enabling seamless bounty management and cryptocurrency transactions.
## Features
- **Automated GitHub Integration for Bounties:** Instantly reward contributors with crypto (solana) with Tesior Bot via GitHub comments using `/bounty `.
- **Enhanced Security Measures:** Utilize multi-cloud Kubernetes clusters and Shamir’s Secret Sharing for robust private key management.
- **Blockchain Indexing via Helius:** Efficiently index blockchain data using Helius to not miss any transaction to/from tesior wallet.
- **Workspace Creation and Management:** Create and manage workspaces linked to GitHub repositories for centralized project control.
- **Multi-Project Management:** Manage multiple projects each with distinct user groups from a single account.
- **Dashboard Task Management:** Add, approve, and pay for custom tasks directly through the Tesior dashboard.
- **Transaction Transparency:** Access detailed transaction logs for both incoming and outgoing funds.
- **Wallet and Payments:** Manage Solana funds and track all wallet transactions through the Tesior interface.
- **Contributor Recognition with Leaderboard:** Feature and motivate contributors using a leaderboard based on task completion and bounties.
## Tech Stack
- [Next.js](https://nextjs.org/) – framework
- [TypeScript](https://www.typescriptlang.org/) – language
- [Tailwind](https://tailwindcss.com/) – CSS
- [Upstash](https://upstash.com/) – redis
- [Neon](https://neon.tech/) - database
- [Prisma](https://www.prisma.io/) - ORM
- [NextAuth.js](https://next-auth.js.org/) – auth
- [Solana Web3.js](https://github.com/solana-labs/solana-web3.js) - payments
- [Turborepo](https://turbo.build/repo) – monorepo
- [Helius](https://dev.helius.xyz/) - indexer webhook
- [Kubernetes](https://github.com/jogeshwar01/tesior-pkm) - private key management
- [Cloudflare Workers](https://hono.dev/docs/getting-started/cloudflare-workers) – github bot and helius webhook
- [Vercel](https://vercel.com/) – deployments
#### Others
- [Shadcn/ui](https://ui.shadcn.com/)
- [Aceternity UI](https://ui.aceternity.com/)
- [Dub.co](https://github.com/dubinc/dub)
- [Precedent](https://github.com/steven-tey/precedent)
- [Radix UI](https://www.radix-ui.com/)
- [Tanstack](https://tanstack.com/)
- [Zod](https://zod.dev/)
- [SWR](https://swr.vercel.app/)
- [Sonner](https://sonner.emilkowal.ski/)
- [Ideogram AI](https://ideogram.ai/)
- [Tesior Bot](https://github.com/apps/tesior-bot)
- [Shamir Secret Sharing](https://github.com/jogeshwar01/tesior-pkm)
## Architecture

## Contributing
We love our contributors! Here's how you can contribute:
- [Open an issue](https://github.com/jogeshwar01/tesior-web/issues) if you believe you've encountered a bug.
- Follow the [local development setup guide](#local-development-setup) below to get your local dev environment set up.
- Make a [pull request](https://github.com/jogeshwar01/tesior-web/pull) to add new features/make quality-of-life improvements/fix bugs.
## Local Development
A guide on how to run Tesior's codebase locally
1. Clone the repo into a public GitHub repository (or fork https://github.com/jogeshwar01/tesior-web).
```sh
git clone https://github.com/jogeshwar01/tesior-web.git
```
2. Go to the project folder.
```sh
cd tesior-web
```
3. Install packages with yarn.
```sh
yarn install
```
4. Set up your `.env` file
- Duplicate `.env.example` to `.env`.
- Use `openssl rand -base64 32` to generate a key and add it under `NEXTAUTH_SECRET` in the `.env` file.
- Add the `APP_WALLET_ADDRESS` - public key to receive payments.
- Setup Github app to configure NextAuth. Add the respective `GITHUB_CLIENT_ID` AND `GITHUB_CLIENT_SECRET`.
- For developing locally, start postgres and redis locally.
```sh
cd docker
docker compose up
```
- For cloud deployments, setup database on Neon and redis on Upstash.
5. Private key management -
- To send payments, you would need the private key of your wallet. This can be secured using multi-cloud kubernetes clusters and shamir secret sharing. This has been implemented here - [Tesior-pkm](https://github.com/jogeshwar01/tesior-pkm).
- To test locally, go through the `shamir-secret-sharing` module [here](https://github.com/jogeshwar01/tesior-web/tree/main/apps/next-web/lib/shamirs-secret-sharing). Create 5 shares using the [createShares](https://github.com/jogeshwar01/tesior-web/blob/main/apps/next-web/lib/shamirs-secret-sharing/createShares.ts) function. Update [fetchShares](https://github.com/jogeshwar01/tesior-web/blob/main/apps/next-web/lib/shamirs-secret-sharing/recoverPrivateKey.ts) to get shares from `.env` instead of api calls to multi-cloud servers.
6. Build and Start the Nextjs app.
```sh
yarn build
yarn dev
```
## License
Tesior is open-source under the MIT License. You can [find it here](https://github.com/jogeshwar01/tesior-web/blob/main/LICENSE.md).