A platform allowing you to sell access to your Discord server.
Paypath was a SaaS project designed to enable users to sell access to their Discord servers, and other kinds of content. It was in development during the summer of 2023 but died off shortly after because of complications with trying to run a business just a couple months before college was about to start.
Regardless, it was a good learning experience that helped me make use of different libraries to manage UI state, develop a decent, but incomplete, backend system that achieves the MVP/goal of the app, as well as allowing me to bring out my more "design-y" side to the public. There's definitely a lot more I could've done better with this.
A live demo is available at https://paypath.app.
Want to see Paypath in action? Purchase a Paypath product here! (enter 4242 4242 4242 4242
for the card number!)
First off, some prerequesites: Node v18, pnpm, and Docker (recommended).
If you are using Docker Compose, you can run docker compose up -d
in the root directory to spin up the resources you need.
- Copy the
.env.example
file to.env
. - Set up the Discord application, head to this link
- Create a new application at the top right of the screen
- Once created, click on "OAuth2" on the sidebar
- Copy the
CLIENT ID
, then paste it in the.env
file atDISCORD_ID
andNEXT_PUBLIC_DISCORD_ID
. - Copy the
CLIENT SECRET
, then paste it in the.env
file atDISCORD_SECRET
. - Under the "Redirects" section, add a the following URIs:
http://localhost:3000/api/auth/callback/discord
http://localhost:3000/d/products
- Finally, click on "Bot" and click "Reset Token". Copy the token and paste it in the
DISCORD_TOKEN
field.
- Change the NextAuth to the appropriate values at the comments outline.
- Finally, change the Stripe related values.
- For the Connect ID step, click on the link in the
.env
file, - Scroll all the way down to the "Redirects" section under "Integration"
- Set the URL to
http://localhost:3000/api/stripe/onboard
. - Set the
STRIPE_GATEKEEP_ACCT_ID
to your Stripe's account ID if you want to use Paypath with the same Stripe account as you use to set-up the integration.
- For the Connect ID step, click on the link in the
Once you set the configuration you can begin to run the app.
- Run
pnpm install
, this will install all the deps. - Run database migrations using
pnpm db:push
. - Finally, run
pnpm dev
.