vincanger / coverlettergpt
- вторник, 28 марта 2023 г. в 00:13:46
Generate Cover Letters based on Job Description and your Resumé. Manage jobs and applications. Get Hired. Have fun. Be cool. Go to School.
After cloning this repo, you can run it locally by following these steps:
curl -sSL https://get.wasp-lang.dev/installer.sh | sh
in your terminal..env.server
file in the root of the projectenv.example
file contents to .env.server
and fill in your API keyswasp db migrate-dev
wasp start
localhost:3000
in your browser (your NodeJS server will be running on port 3001
)coverlettergpt.xyz was built in a couple of days using a few really cool tools:
Wasp as the full-stack framework allows you to describe your app’s core features in the main.wasp
config file in the root directory. Then it builds and glues these features into a React-Express-Prisma app for you so that you can focus on writing the client and server-side logic instead of configuring. For example, I did not have to use any third-party libraries for Google Authentication. I just wrote a couple lines of code in the config file stating that I want to use Google Auth, and Wasp configures it for me. Check out the main.wasp
file for more.
Also, Chakra-ui is great for building nice looking UI’s really quickly and easily. Some people are turned off by the fact that they’re React components, but I find that they’re easy to customize and configure, and get me started on designs 10x faster and with less code than tailwind.
For more info on the prompts and configuration I used for the OpenAI API, check out the src/server/actions.ts
file.
Stripe makes the payment functionality super easy. I just used their Pre-configured Checkout
feature on a one-time purchase product. After the user pays, I update their hasPaid
and datePaid
fields in the database. Then I use Wasp's integrated Jobs feature to run a cron job that checks if 3 months has passed since paying, and if so, it sets hasPaid
to false
again.
I also implemented a cron job to send an email to the user to notify them 2 weeks before their subscription ends. I used SendGrid for the email service.
If you have any other questions, feel free to reach out to me on twitter