AI-powered browser extension to elevate README files into professional-grade, user-friendly documentation for your GitHub projects. π
Note
This browser extension is currently under development
- Tech Stack π οΈ
- Other Libraries & Dependencies π
- Prerequisites β
- Setup βοΈ
- File Structure π
- @primer/react
- Uvicorn
Install brew. Install anything below brew, through brew.
bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install pythonbrew install nodedocker --versionpython3 --version
pip3 --versionnode --version- Clone the repository:
git clone https://github.com/AleHS01/gitdocsify-extension.git
cd gitdocsify-extensionTo run the entire project with Docker, follow these steps:
-
Make sure you have Docker installed:
- Install Docker
- Check Docker Version:
docker --version
-
Build the containers:
docker compose build- Start the containers:
docker compose up- Both the frontend and backend services are going to be running:
- Frontend will be accessible at
http://localhost:5173 - Backend will be accessibl at
http://localhost:8000
- Frontend will be accessible at
- Stop the containers:
docker compose downImportant
Docker automatically builds the containers and sets up the environment for both the frontend and backend, eliminating the need for manual setup.
If you prefer to manually set up the frontend or backend, follow the steps below:
- Navigate to the frontend directory
cd frontend- Install Node dependencies
npm install- Copy the
.env.examplefile to.env:
cp .env.example .env- Update the
.envfile with your environment variables:
VITE_SUPABASE_URL= your_supabase_url
VITE_SUPABASE_KEY= your_supabase_key
VITE_FRONTEND_URl= your_frontend_local_url or your_frontend_production_url- Run Vite development server
npm run dev- React app at: http://localhost:5173/
- Install Poetry (Python package manager):
# Using pip3
pip3 install poetry
# Or using Homebrew
brew install poetry- Navigate to the backend directory from
gitdocsify-extensiondirectory
cd backend- Install dependecies Python using Poetry
poetry install- Copy the
.env.examplefile to.env:
cp .env.example .env- Update the
.envfile with your environment variables:
SUPABASE_URL= your_supabase_url
SUPABASE_KEY= your_supabase_key
PYTHON_ENV= production or development- Run the FastAPI app using Uvicorn
# Navigate to directory where main.py is located
cd src/app
# Run FastAPI server with auto reload when changes are saved
uvicorn main:app --reload- FastAPI backend server at http://localhost:8000.
/gitdocsify-extension
β
βββ /backend # Backend application (FastAPI)
β βββ poetry.lock # Poetry lock file (dependency versions)
β βββ pyproject.toml # Poetry project configuration
β βββ .env # Enviromental Variables
β βββ dockerfile # Backend container image
β βββ /src # Source code for the backend
β β βββ /app # Main backend app directory
β β βββ __init__.py # Initializes the app module
β β βββ /api # API-related code
β β β βββ __init__.py # Initializes the API module
β β βββ /core # Core functionalities, e.g., database or service connections
β β β βββ supabase.py # Supabase-related functionality
β β βββ main.py # FastAPI app instance
β β βββ /models # Models for database interactions
β β βββ /schemas # Pydantic schemas for validation
β βββ /test # Tests for the backend
β βββ __init__.py # Initializes test module
β
βββ /frontend # Frontend application (React with Vite)
β βββ /build # Build output directory (generated on build)
β β βββ assets # Static assets (e.g., JS and CSS files)
β β βββ index.html # Entry HTML file for the frontend
β β βββ manifest.json # Metadata for PWA setup & Extension configuration
β βββ eslint.config.js # ESLint configuration file
β βββ index.html # HTML entry file for the frontend
β βββ .env # Enviromental Variables
β βββ dockerfile # Frontend container image
β βββ package-lock.json # Lock file for npm dependencies
β βββ package.json # Package configuration for the frontend
β βββ /public # Public directory (assets and metadata)
β β βββ manifest.json # Manifest for the frontend app (PWA setup) & Extension configuration
β βββ /src # Source code for the frontend
β β βββ App.css # Main CSS file for the React app
β β βββ App.tsx # Main React component (App)
β β βββ /assets # Static assets for the app
β β βββ /components # Reusable UI components
β β β βββ ColorModeSwitcher.tsx # Component for theme switching
β β βββ /context # React Context for app-wide state
β β β βββ UserContext.tsx # User context for managing user state
β β βββ index.css # Global CSS file
β β βββ /lib # Utility functions or libraries
β β β βββ supabase.ts # Supabase-related utilities
β β βββ main.tsx # Main entry file for React app
β β βββ /pages # Page components (views)
β β β βββ Login.tsx # Login page component
β β β βββ Dashboard.tsx # User Dashboard page
β β β βββ LoginScreen.tsx # Loading component
β β βββ /types # TypeScript types for the app
β β β βββ user.ts # User type definition
β β βββ /utils # TypeScript types for the app
β β β βββ ProtectedRoutes.tsx # Protected Routes Wrapper
β βββ vite.config.ts # Vite configuration file for bundling
βββ docker-compose.yml #Multi-container Docker setup
βββ .dockerignore # Excluded files from Docker
βββ README.md # Project documentation (root level)
βββ .gitignore # Git ignore file