Starworthy is a web application designed to streamline the process of exploring and managing a GitHub user’s starred repositories via the official public facing GitHub API. Starworthy provides a starred project suggestion feature- randomly selecting a user’s starred repository allowing users to discover a forgotten repository. Users will also be able to easily search, filter, and manage their starred repositories to gain insights into the projects that have captured their interest.
Starworthy is primarily designed for software developers and individuals with GitHub accounts who actively engage with open-source repositories. It caters to power users and software developers looking to organize, manage, and revisit their past starred repositories.
Starworthy is currently running on Node v18.
git clone https://github.com/chrispinkney/starworthy.git
cd starworthy/api
npm i
npm run db:generate
cd ../web
npm i
- Generate your own GitHub Token with repo permissions for later use
- Starworthy is currently set up to utilize vercel's (free) postgres db. Create a database on vercel and copy the provided details located in the
.env.local
tab on vercel's website toapi/.env
. Your.env
file should look like this when completed:
POSTGRES_URL=<your vercel token>
POSTGRES_PRISMA_URL=<your vercel token>
POSTGRES_URL_NON_POOLING=<your vercel token>
POSTGRES_USER=<your vercel token>
POSTGRES_HOST=<your vercel token>
POSTGRES_PASSWORD=<your vercel token>
POSTGRES_DATABASE=<your vercel token>
PORT=7000
GITHUB=<your github token>
npm run db:migrate
cd /api
npm run dev
cd ../web
npm run dev
- Navigate to
http://localhost:5173
Starworthy was built using several wonderful pieces of technology:
-
The frontend is developed using the SvelteKit framework for its simplicity and performance benefits. It is primarily written in TypeScript.
-
The backend is developed using the Fastify framework for its lightweight and fast performance. It is also primarily written in TypeScript.
-
The PostgreSQL database operates via the Prisma framework ORM, simplifying the interaction between the application and the database.
-
Starworthy also employs several other miscellaneous pieces of tech such as: prettier, eslint, cron, husky, vite, tsx, and octokit.