Giter Club home page Giter Club logo

huntscreens's Introduction

The best way to explore the ProductHunt. Capture every new featured product!

Background story

One day, I felt that browsing ProductHunt wasn't very intuitive, so I quickly made a small project using NextJs. It takes screenshots of each new project on ProductHunt, so now I can quickly browse through them every day and easily see if there's anything interesting to me without having to read a lot of text and click around.

Getting Started

Tech stacks

Before deployment, make sure you know all the services or tools above clearly. It may take some time.

Env Variables

# setup trigger api key and endpoint url.
# https://trigger.dev/

TRIGGER_API_KEY=
TRIGGER_API_URL=
NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY=

# setup Producthunt API access token
# https://api.producthunt.com/v2/docs

PH_ACCESS_TOKEN=

# setup postgres database url.
# https://supabase.com

DATABASE_URL=

# setup screenshot one api.
# !remember to setup s3 extension on ScreenshotOne.
# https://screenshotone.com/

SCREENSHOTONE_ACCESS_KEY=
SCREENSHOTONE_SIGNED_KEY=

# setup resend email service api
# https://resend.com

RESEND_KEY=
RESEND_AUDIENCE_ID=


# cloudflare r2 endpoint url.

NEXT_PUBLIC_CLOUDFLARE_R2=

# setup Logto user authentication
# https://logto.io

LOGTO_APPID=
LOGTO_APP_SECRET=
LOGTO_BASE_URL=
LOGTO_COOKIE_SECRET=
LOGTO_ENDPOINT=

After Env vars, generate and migrate the database table:

pnpm db:generate
pnpm db:migrate

after migration, run the following sql at supabase or from any postgres client, to create table view:

create view
  sortedphs as
select
  row_number() over (order by added_at desc) as row_no,
  *
from
  producthunt;

after that, run the dev server.

pnpm i
pnpm run dev

open another terminal, run the trigger service.

pnpm triggerdev

Open http://localhost:3000 with your browser to see the result.

What's Next?

  • screenshot YC companies

You can view all the dev plan on this Kanban.

Any idea or bugs? Submit issues or leave a comment on my twitter !

huntscreens's People

Contributors

daimajia avatar

Stargazers

o1labs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.