Gitdoc is a tool that can be used to generate comprehensive and user-friendly documentation directly from your GitHub repositories. This project aims to simplify the process of creating and maintaining project documentation, saving developers time and effort.
- GitHub Integration: Seamlessly connect your GitHub repository.
- Automated Documentation: Generate documentation based on code comments, markdown files, and repository structure.
- Interactive Dashboard: Admin dashboard to manage users, projects, and system performance.
- Error Handling: Provides detailed logs for failed documentation generation tasks.
- Backend: Node.js, Express.js
- Frontend: React.js
- Database: MongoDB
- Integration: GitHub API
- Node.js and npm installed.
- MongoDB instance running locally or in the cloud.
- A GitHub account and personal access token.
-
Clone the repository:
git clone https://github.com/daniel-idowu-01/gitDocs cd gitDocs
-
Install dependencies:
cd client npm install
cd server npm install
-
Set up environment variables: Create a
.env
file in the root directory with the following:NODE_ENV=test PORT=3000 MONGO_DB=your_mongo_connection_string GITHUB_TOKEN=your_personal_access_token GEMINI_API_KEY=gemini_api_key SALT=test JWT_SECRET=jwtsecret EMAIL_JWT_SECRET=emailjwtsecret GITHUB_CLIENT_ID=clientid GITHUB_CLIENT_SECRET-clientsecret PASSPORT_SECRET=secret BASE_URL=base_url FRONTEND_URL=frontend_url COOKIE_NAME=cookie
-
Start the app:
cd server npm run dev
cd client npm run dev
- Add support for GitLab and Bitbucket.
- Introduce AI-powered summarization for code.
- Enhance customization options for generated documentation.
- Provide multi-language support for projects.
- Add user subscription plans.
We welcome contributions! Follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
. - Commit your changes:
git commit -m "Add feature-name"
. - Push to the branch:
git push origin feature-name
. - Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support:
- Email: [email protected]