It's a standalone backend and a fun and interactive tool that fetches GitHub profile details based on a user's GitHub username and then generates a roast message using the Gemini API. The roast message is streamed as a response, adding a touch of humor to your experience.
- NodeJS & ExpressJS
- Github API for getting the profile details
- Gemini API for generating the roast message
- Fetches GitHub profile details using the GitHub API.
- Generates a roast message with the Gemini API.
- Streams the roast message for an interactive experience.
To get started with RoastGithub, follow these steps:
- Node.js: Ensure that you have Node.js installed. You can download it from nodejs.org.
git clone https://github.com/Ajeet1606/github-roast-backend.git
cd github-roast-backend
yarn
Before running the application, you need to configure the environment variables:
Create a .env file in the root of the project directory. Add your GitHub API token and Gemini API key to the .env file:
PORT=3000
VITE_GITHUB_TOKEN=
VITE_GITHUB_GRAPHQL_API=https://api.github.com/graphql
VITE_GEMINI_API_KEY=
VITE_GEMINI_MODEL=gemini-1.5-flash
Once you have installed the dependencies and configured the environment variables, you can start the application using the following command:
yarn dev
we've only one endpoint /roast/:username
which takes your github username and gives sends you the roast response from Gemini in streamed format.
We welcome contributions to RoastGithub! If you would like to contribute, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or fix.
- Make your changes and ensure that they are well-tested.
- Submit a pull request with a clear description of your changes.
- GitHub API
- Gemini API