Yashasv-Prajapati / Docify

5 stars 2 forks source link

Docify

GitHub stars GitHub forks

Docify simplifies the process of generating essential project documentation such as UML diagrams, code coverage reports, generic READMEs, test plans, and lists of external dependencies. Connect your GitHub account, import your repositories, and start generating the documentation you need with ease.

Features

Technologies Used

Supported Languages

Currently, Docify supports projects written in Java and Python. We aim to expand support to more languages in future.

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/docify.git
    cd docify
  2. Install the dependencies:

    npm install
  3. Set up environment variables:

    Create a .env file in the client directory and add the credentials from .env.example.

    Next you need to get credentials for Google PALM API and add the client_secret*.json(rename it to client_secret.json) file in the llm-api directory.

  4. Run database migrations:

    npx prisma migrate dev
  5. Start the development server:

    npm run dev
  6. Build and run the Docker container: There are several dockerfiles in the repository. You can use the Dokerfile_all_java and Dockerfile_all_py one in the docker/dockerfiles directory to build and run the container.

    docker build -f docker/dockerfiles/Dockerfile_all_java -t docify_java .
    docker build -f docker/dockerfiles/Dockerfile_all_py -t docify_python .
    docker run -p 3000:3000 docify_java  # For Java support
    docker run -p 3000:3000 docify_python  # For Python support
  7. Running Fast API server for LLM Go to the llm-api directory and run the following commands.

    • To Install FastAPI and Uvicorn
      pip install fastapi uvicorn
    • To run the server
    uvicorn main:app --reload

Usage

  1. Open your browser and go to http://localhost:3000.
  2. Connect your GitHub account by authorizing and installing the github app.
  3. Import your repository.
  4. Select the documentation you want to generate.

Contributing

We welcome contributions! Please contact any of the maintainers or open an issue to discuss the changes you would like to make.

Acknowledgements