https://github.com/pratik-codes/solpass
A decentralized password manager on solana blockchain
https://github.com/pratik-codes/solpass
Last synced: about 1 year ago
JSON representation
A decentralized password manager on solana blockchain
- Host: GitHub
- URL: https://github.com/pratik-codes/solpass
- Owner: pratik-codes
- License: mit
- Created: 2024-09-22T11:06:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T21:35:57.000Z (over 1 year ago)
- Last Synced: 2025-01-20T21:45:19.549Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://solpass.byarclabs.com
- Size: 1.23 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Getting Started
## Prerequisites
- Node.js and yarn/bun installed
- Accounts and API keys for:
- Supabase
- Stripe (if using payments)
- Clerk (if using authentication)
## Setup
1. Clone the repository:
```
git clone
cd
```
2. Install dependencies:
```
yarn
```
3. Set up environment variables:
Create a `.env` file in the root directory with the following variables:
```
SUPABASE_URL=
SUPABASE_SERVICE_KEY=
# If using Stripe
STRIPE_SECRET_KEY=
NEXT_PUBLIC_STRIPE_PRICE_ID=
# If using Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
```
4. Configure features:
In `config.ts`, set the desired features:
```typescript
const config = {
auth: {
enabled: true, // Set to false if not using Clerk
},
payments: {
enabled: true, // Set to false if not using Stripe
}
};
```
5. Set up the database:
Run Prisma migrations:
```
npx prisma migrate dev
```
6. Start the development server:
```
yarn dev
```
7. Open your browser and navigate to `http://localhost:3000` to see your application running.
## Additional Configuration
- Webhooks: Set up webhooks for Clerk (if using auth) at `/api/auth/webhook` and for Stripe (if using payments) at `/api/payments/webhook`.
- Customize the landing page, dashboard, and other components as needed.
- Modify the Prisma schema in `prisma/schema.prisma` if you need to change the database structure.
## Important Security Notes
- Enable Row Level Security (RLS) in your Supabase project to ensure data protection at the database level.
- Always make Supabase calls on the server-side (in API routes or server components) to keep your service key secure.
## Learn More
Refer to the documentation of the individual technologies used in this project for more detailed information:
- [Next.js Documentation](https://nextjs.org/docs)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)
- [Supabase Documentation](https://supabase.io/docs)
- [Prisma Documentation](https://www.prisma.io/docs)
- [Clerk Documentation](https://clerk.dev/docs) (if using auth)
- [Stripe Documentation](https://stripe.com/docs) (if using payments)