-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #47 from Gurubase/develop
First Release
- Loading branch information
Showing
23 changed files
with
497 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [0.1.0] - 2025-01-21 | ||
|
||
### Added | ||
- Modern Next.js 14 frontend with TailwindCSS | ||
- Django REST framework backend | ||
- RAG system with advanced LLM techniques | ||
- Multiple data source support: | ||
- Website scraping with Firecrawl | ||
- YouTube video transcription | ||
- PDF document processing | ||
- Vector similarity search with Milvus | ||
- Message queue system with RabbitMQ for Celery | ||
- Caching layer with Redis | ||
- PostgreSQL database for data persistence | ||
- Docker Compose based deployment | ||
- Self-hosted installation script | ||
- Binge feature for personalized learning paths | ||
- Context evaluation system to minimize hallucination | ||
- Comprehensive documentation: | ||
- Installation guide | ||
- Architecture documentation | ||
- Development guidelines | ||
- Website widget for embedding Q&A functionality | ||
- Telemetry system with opt-out option | ||
|
||
### Infrastructure | ||
- Microservices architecture with Docker Compose | ||
- Nginx for static file serving and reverse proxy | ||
- Celery for asynchronous task processing | ||
- Milvus for vector similarity search | ||
- PostgreSQL for primary data storage | ||
- Redis for caching and rate limiting | ||
- RabbitMQ for message queue | ||
|
||
[0.1.0]: https://github.com/Gurubase/gurubase/releases/tag/v0.1.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# Contributing to Gurubase | ||
|
||
We love your input! We want to make contributing to Gurubase as easy and transparent as possible, whether it's: | ||
|
||
- Reporting a bug | ||
- Discussing the current state of the code | ||
- Submitting a fix | ||
- Proposing new features | ||
- Becoming a maintainer | ||
|
||
## Development Process | ||
|
||
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests. | ||
|
||
1. Fork the repo and create your branch from `master`. | ||
2. If you've added code that should be tested, add tests. | ||
3. If you've changed APIs, update the documentation. | ||
4. Ensure the test suite passes. | ||
5. Make sure your code lints. | ||
6. Issue that pull request! | ||
|
||
## Development Setup | ||
|
||
We use VSCode devcontainers for development. This ensures a consistent development environment for all contributors. | ||
|
||
### Frontend (Next.js) | ||
|
||
```bash | ||
cd src/gurubase-frontend | ||
|
||
# Install dependencies | ||
yarn install | ||
|
||
# Run in development mode | ||
yarn dev-selfhosted | ||
``` | ||
|
||
### Backend (Django) | ||
|
||
The backend development environment is configured using VSCode devcontainers. To get started: | ||
|
||
1. Install VSCode and the "Remote - Containers" extension | ||
2. Open the project in VSCode | ||
3. When prompted, click "Reopen in Container" or run the "Remote-Containers: Reopen in Container" command | ||
4. The container will be built and configured automatically | ||
|
||
Once inside the container: | ||
|
||
```bash | ||
cd src/gurubase-backend/backend | ||
|
||
bash migrate_runserver.sh | ||
``` | ||
|
||
## Pull Request Process | ||
|
||
1. Update the README.md with details of changes to the interface, if applicable. | ||
2. Update the CHANGELOG.md with a note describing your changes. | ||
3. The PR will be merged once you have the sign-off of at least one other developer. | ||
|
||
## Code Style | ||
|
||
### Frontend | ||
|
||
- Use ESLint and Prettier configurations provided in the project | ||
- Follow React best practices and hooks guidelines | ||
- Use functional components | ||
- Implement proper TypeScript types | ||
- Follow the existing component structure | ||
|
||
### Backend | ||
|
||
- Follow PEP 8 style guide | ||
- Use Django's coding style | ||
- Write docstrings for all functions and classes | ||
- Keep functions small and focused | ||
- Use type hints where possible | ||
|
||
## Commit Messages | ||
|
||
- Use the present tense ("Add feature" not "Added feature") | ||
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...") | ||
- Limit the first line to 72 characters or less | ||
- Reference issues and pull requests liberally after the first line | ||
|
||
## License | ||
|
||
By contributing, you agree that your contributions will be licensed under its Apache License 2.0. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.