Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Improve Local Setup Documentation: Add Clear Steps for API Keys & Python Virtual Environment

Open
#178 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Stale
Tech stack
fastapi, postgresql, python, supabase

Research direction

Read the current README.md setup instructions and backend/.env.example first, then document local API key, Supabase PostgreSQL credential, and Python virtual-environment steps in the README. Update the environment example with the listed variables and comments, and verify that the instructions cover the requested setup path for new contributors.

Written by the indexing model from the issue text.

Description

Is this related to an existing part of the documentation?
  • Yes, it is related to an existing section
What needs to be updated?

Title: Improve Local Setup Documentation: Add Clear Steps for API Keys & Python Virtual Environment


Describe the Problem

The current README.md provides basic setup instructions (cloning, installing dependencies, running servers), but critical onboarding steps are missing or incomplete, making it difficult for new contributors (especially beginners) to run the project locally.

Missing or Unclear Parts
  1. API Key Setup (GEMINI_API_KEY, YOUTUBE_API_KEY, GROQ_API_KEY)

    • The .env.example lists these keys, but there are no instructions on how to obtain them.
    • No links, steps, or free-tier details — users get stuck at the .env stage.
  2. Supabase Database Credentials (host, password, etc.)

    • While Supabase URL and anon key are mentioned, the PostgreSQL connection string breakdown (host, password, port, etc.) is not explained.
    • Users don’t know where to find these in the Supabase dashboard.
  3. Python Virtual Environment (venv) for FastAPI Backend

    • The README says pip install -r requirements.txt, but does not recommend or explain using a virtual environment.
    • This leads to dependency conflicts, especially on shared machines or with multiple Python projects.

These gaps increase friction for first-time contributors and reduce project accessibility.


Suggested Solution

Add a new “Local Development Setup” section to README.md with clear, step-by-step instructions and a properly formatted table for API keys.

1. API Keys Table (place under “Environment Variables” or a new heading)
Create a `.env` file in `backend/app/` (copy from `.env.example`). Fill the values below:

| Variable               | Service                     | How to Obtain |
|------------------------|-----------------------------|---------------|
| `GROQ_API_KEY`         | [Groq](https://console.groq.com) | 1. Go to [console.groq.com](https://console.groq.com)<br>2. Sign up / log in<br>3. **API Keys → Create API Key**<br>4. Copy the key (`gsk_…`) |
| `GEMINI_API_KEY`       | [Google AI Studio](https://aistudio.google.com) | 1. Visit [aistudio.google.com/app/apikey](https://aistudio.google.com/app/apikey)<br>2. Sign in with Google<br>3. **Create API key**<br>4. Copy the key |
| `YOUTUBE_API_KEY`      | [Google Cloud Console](https://console.cloud.google.com) | 1. Go to [console.cloud.google.com](https://console.cloud.google.com)<br>2. Create a new project (e.g., “InPact-YouTube”)<br>3. Enable **YouTube Data API v3**<br>4. **Credentials → Create Credentials → API key** |
| `SUPABASE_URL` & `SUPABASE_KEY` | [Supabase](https://supabase.com) | 1. Go to [supabase.com/dashboard](https://supabase.com/dashboard)<br>2. Create a new project<br>3. **Settings → API** → copy **Project URL** and **anon public** key |
| `host`, `password`     | Supabase PostgreSQL        | In Supabase: **Settings → Database** → copy **Host** and the **Database password** you set during project creation |

Note: All services have free tiers sufficient for local development.

2. Python Virtual Environment (Recommended)

To avoid dependency conflicts:

# In project root or backend/
python -m venv venv

# Activate
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate

# Install backend deps (with venv active)
pip install -r backend/requirements.txt

Note : Always activate the venv before running uvicorn

3. Update .env.example (Optional but Helpful)

Ensure backend/.env.example includes all required keys with comments:

# Supabase DB
user=postgres
password=YOUR_DB_PASSWORD
host=YOUR_PROJECT.supabase.co
port=5432
dbname=postgres

# API Keys
GROQ_API_KEY=your_groq_key_here
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-key
GEMINI_API_KEY=your-gemini-key
YOUTUBE_API_KEY=your-youtube-key

Additional Context

  • Date & Time: November 16, 2025, 10:01 AM IST
  • Location: India (IN)
  • Fork: SunilBaghel002/InPactAI
  • OS Tested: Windows 11 (also verified on Ubuntu 24.04 via WSL)
  • Contributor: First-time open-source contributor — eager to improve onboarding for the global community!
  • Motivation: I spent ~45 minutes just figuring out API keys and venv setup. Clear docs would have saved me (and others) hours.

Impact

Before After
New contributors get stuck at .env → give up Setup time drops from ~1 hour → ~10 minutes
Dependency conflicts break local runs Isolated venv = zero conflicts
No guidance on free-tier limits Confidence that free tiers are enough for dev
High barrier for non-US/English users Step-by-step + India-localized time = inclusive

Result:

  • More pull requests from beginners (especially from India & APAC timezones)
  • Faster project growth
  • Lower maintainer support load (fewer “how do I get X key?” issues)

Happy to open a PR with these exact changes — just let me know!

Relevant Documentation Link (if any)

No response

Record
  • I agree to follow this project's Code of Conduct
  • I want to work on this update
Dominant language
TypeScript
Stars
102
Forks
144
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AOSSIE-Org/InPactAI

All issues in AOSSIE-Org/InPactAI

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.