[READ-ONLY] Mirror of https://github.com/danielroe/firstcommit.is. Find your first open-source commit on GitHub
firstcommit.is
api
commit
github
nuxt
oauth
1.9 kB
61 lines
1# firstcommit.is
2
3> Find your first open-source commit on GitHub
4
5<p align="center">
6 <a href="https://firstcommit.is/" target="_blank">
7 <img width="1090" alt="Screenshot of firstcommit.is showing @danielroe's first commit" src="https://github.com/danielroe/firstcommit.is/assets/28706372/0117c4e2-aa2f-482d-ac58-a7195e5c4902">
8 </a>
9</p>
10
11- [👉 Check it out](https://firstcommit.is/)
12
13## Features
14
15- Built on [Nuxt](https://nuxt.com/)
16- [Nitro server API routes](https://nuxt.com/docs/guide/concepts/server-engine#server-engine)
17- [GitHub API](https://docs.github.com/en/rest) and [OAuth](https://docs.github.com/en/apps/oauth-apps)
18- [Cal Sans](https://github.com/calcom/font) font
19- [Tailwind CSS](https://tailwindcss.com/)
20- [nuxt-og-image](https://github.com/harlan-zw/nuxt-og-image), powered by [Satori](https://github.com/vercel/satori)
21- Deployed on [Vercel](http://vercel.com), using ISR with [route rules](https://nitro.unjs.io/guide/cache#route-rules) to persist images, HTML and API requests permanently to a global CDN.
22
23## Try it out locally
24
251. Generate a new GitHub token [here](https://github.com/settings/tokens).
262. Create an OAuth application and obtain a client secret and client ID [here](https://github.com/settings/developers).
27
28Set your environment variables in a `.env` file:
29
30```env
31NUXT_GITHUB_TOKEN=<github token from step 1>
32NUXT_GITHUB_CLIENT_SECRET=<oauth client secret from step 2>
33NUXT_GITHUB_CLIENT_ID=<oauth client id from step 2>
34```
35
36### Setup
37
38```bash
39# install dependencies
40corepack enable
41pnpm install
42
43# serve in dev mode, with hot reload at localhost:3000
44pnpm dev
45
46# build for production
47pnpm build
48
49# preview in production mode
50pnpm preview
51```
52
53## Credits
54
55Thanks to [**@beerose**](https://github.com/beerose) for the domain name suggestion!
56
57## License
58
59Made with ❤️
60
61Published under [MIT License](./LICENCE).