返回资讯中心
外部精选
软件工程
#开发者实时流

My first open-source service reached its first 20 stars on GitHub

🌐 Website • 💎 Create project • 📄 About • ⚙️ Submit project

Hacker News 最新aanthonymax2026/11/2 · 今天12 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

🌐 Website • 💎 Create project • 📄 About • ⚙️ Submit project

Project catalog where you can add yours and get interesting and practical embeds.

Idea

Features

Catalog & discovery

Embeds

Custom embeds

Project pages

Upvotes & impressions

Moderation

How it works

What projects are suitable?

Premium

FAQ

Tech stack

Project structure

Running locally

Prerequisites

Quick start

Environment variables

Available scripts

Data Synchronization

Contributing

Star History

License

Idea

While developing open source projects, one day I came up with the idea of ​​making a website for practical pictures for projects, since I wanted to somehow highlight my project rather than adding default ones. I don't want to copy others, so I made a catalog where each project will have a relatively unique embed.

Catalog & discovery

On the main page, each published project is presented as a card featuring relevant images and project information. The platform also tracks views and upvotes, which are displayed on the card as well. Visitors can:

Each project gets ready-made embed badges, generated as static images and available in light and dark themes:

Beyond the built-in badges, every project can design its own custom embed (title, description, light/dark theme) straight from the account dashboard, and copy the ready HTML snippet for a README or website.

Signed-in users can upvote a project once. Page views are also tracked as impressions, batched client-side to keep the write volume low, and both numbers are shown on the project card and its page.

New submissions land in a moderation queue. Admins can approve, reject, mark a project as premium, or edit any listing before it goes live, so the catalog stays consistent and spam-free.

Open source

Service

Web app

Developer tool

Package

Other technical projects

Commercial projects are also taken into work.

Essentially, we are not focused on creating an audience on the platform, although this is also important. The idea is to work on a project periodically, like an ant working on its visibility. The platform accepts a certain number of premium projects per month, and the project team will simply add them to relevant articles and create content about them on other platforms. For example, tweets, etc.

This flow allows us to work on projects as efficiently as possible. Also, if we move on to the next month, the number of projects will allow us to work on previous months' projects.

Is listing a project free? Yes. Free listings get a project page, the base embed badges, and a custom embed you design yourself. Premium is optional and adds promotion and extra embeds.

What happens after I submit a project? It goes into a moderation queue as a draft. An admin reviews it and either publishes, rejects, or asks for changes before it's shown in the catalog.

Can I edit a project after it's published? Yes, from your account you can update details, images, embeds, and the Markdown info section at any time (in development).

Tech stack

Layer Stack

Framework Next.js 16 (App Router, server runtime)

Language TypeScript

Styling Tailwind CSS v4, ShadCN-based UI components

Markdown react-markdown + remark-gfm

Backend Supabase (Postgres, Auth, Storage)

Icons Lucide

Project structure

app Routes (App Router): catalog, project pages, account, submit, embeds components Shared UI and feature components (cards, forms, embeds, markdown, etc.) lib Supabase clients, data mappers, and utilities scripts Build-time embed image generation and the GitHub stats sync job public Static assets, including the site logo and preview image

Running locally

Prerequisites

Requirement Version

Node.js 20+

npm 10+

Supabase project with the projects, project_embeds, project_upvotes, and project_bookmarks tables set up

Quick start

Clone the repository

git clone https://github.com/EmbedCatalog/embedcatalog.git cd embedcatalog

Install dependencies

npm install

Configure environment variables

cp .env.example .env.local # create it if it doesn't exist yet, see below

Start the dev server

npm run start

Open http://localhost:3000 to view the app.

A scheduled GitHub Action runs scripts/sync-github-stats.ts daily to refresh each project's stars, forks, contributors, and license straight from the GitHub API, so project pages stay up to date without manual work.

We have a Contributing Guide that describes the main steps for contributing to the project.

The platform is open to your ideas and code! Thanks to everyone who helps make it better.

License

Source code released under the AGPL-3.0 license.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →