Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 38 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
> [!IMPORTANT]
> Readme is needed to be updated. To get an overview of the project and ideas to work on go through [arch.md](./arch.md).
# LibrEd

# Dont Compete
LibrEd is a local, containerized, agent-driven platform for GATE (Graduate Aptitude Test in Engineering) preparation. It transforms raw syllabus PDFs into structured study materials using OCR, classification pipelines, and local LLM-based theory generation.

**Dont Compete** is a purely local, containerized, and agent-driven platform for GATE (Graduate Aptitude Test in Engineering) preparation. It combines a modern React frontend with an autonomous backend pipeline that scrapes, classifies, and generates study materials from raw syllabus PDFs and local LLMs.
The system combines a modern React frontend with an automated backend pipeline that processes, classifies, and generates educational assets.
## High-Level Architecture
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line before heading.

Missing blank line above the "## High-Level Architecture" heading. Markdown best practices require blank lines around headings for proper rendering and readability.

📝 Proposed fix
 The system combines a modern React frontend with an automated backend pipeline that processes, classifies, and generates educational assets.
+
 ## High-Level Architecture
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## High-Level Architecture
The system combines a modern React frontend with an automated backend pipeline that processes, classifies, and generates educational assets.
## High-Level Architecture
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 6-6: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 6, Add a single blank line immediately before the heading
"## High-Level Architecture" in README.md so the heading is preceded by an empty
line; locate the line containing "## High-Level Architecture" and insert one
newline above it to follow Markdown best practices for proper rendering.


The project follows a structured data pipeline:

Syllabus PDF
OCR + Parsing
DuckDB Sync
Classification
Theory Generation (Ollama)
Static Asset Generation
React Frontend

## Core Philosophy & Features

Expand All @@ -29,17 +45,19 @@ The system is split into two autonomous components that communicate via shared f

## Getting Started

### Prerequisites
## Prerequisites
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line after heading.

Missing blank line after the "## Prerequisites" heading. This violates markdown best practices and may affect rendering.

📝 Proposed fix
 ## Prerequisites
+
 *   [Docker Desktop](https://docs.docker.com/get-docker/) or Docker Engine + Compose.
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 48-48: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 48, Add a single blank line immediately after the "##
Prerequisites" heading in README.md so the heading is followed by an empty line
before the next content; locate the "## Prerequisites" heading and insert one
newline after it to comply with Markdown best practices.

* [Docker Desktop](https://docs.docker.com/get-docker/) or Docker Engine + Compose.
* [Git](https://git-scm.com/).
<!-- * [Git LFS](https://git-lfs.github.com/). -->

### Quick Start
## Quick Start
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line after heading.

Missing blank line after the "## Quick Start" heading.

📝 Proposed fix
 ## Quick Start
+
 1.  **Clone the repository**:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Quick Start
## Quick Start
1. **Clone the repository**:
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 53-53: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 53, Add a single blank line immediately after the "##
Quick Start" heading in README.md so the heading is followed by an empty line
before the next content; locate the literal heading string "## Quick Start" and
insert one blank line below it to conform to Markdown heading spacing
conventions.

1. **Clone the repository**:
```bash
git clone https://github.com/imxade/dont-compete.git
cd dont-compete
```
1. 1. **Clone the repository**:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix duplicate and malformed list item.

Line 55 contains a duplicate and incorrectly formatted list item: "1. 1. Clone the repository:". This appears to be a copy-paste error that will break the markdown list rendering. This line should be removed entirely, as the proper list item already exists on line 54.

🐛 Proposed fix
 1.  **Clone the repository**:
-   1. 1. **Clone the repository**:
-
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 55-55: Inconsistent indentation for list items at the same level
Expected: 0; Actual: 3

(MD005, list-indent)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 55, Remove the duplicate malformed markdown list item "1.
1. **Clone the repository**:" from the README (the extra copy present on the
reported line); ensure only the correctly formatted list entry "**Clone the
repository**:" remains (the original proper item on the previous line), so
delete the duplicate line and leave the surrounding list structure unchanged.


```bash
git clone https://github.com/AOSSIE-Org/LibrEd.git
cd LibrEd
```

2. **Launch the System**:
```bash
Expand All @@ -54,7 +72,7 @@ The system is split into two autonomous components that communicate via shared f
docker compose logs -f generator
```

### Configuration
## Configuration
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line after heading.

Missing blank line after the "## Configuration" heading.

📝 Proposed fix
 ## Configuration
+
 Central configuration is managed in `generator/src/config.py`. You can customize:
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Configuration
## Configuration
Central configuration is managed in `generator/src/config.py`. You can customize:
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 75-75: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 75, Add a blank line after the "## Configuration" heading
in README.md so the heading is followed by an empty line; locate the "##
Configuration" heading and insert a single empty line immediately below it to
conform to Markdown formatting.

Central configuration is managed in `generator/src/config.py`. You can customize:
* `TARGET_STREAMS`: Which exam streams to process (e.g., CS, DA).
* `OLLAMA_MODEL`: The local LLM to use (default: `llama3.1`).
Expand All @@ -63,7 +81,7 @@ Central configuration is managed in `generator/src/config.py`. You can customize

We are building a free, high-quality platform for everyone, and we need your help to achieve that!

### Non-Coding Contributions
## Non-Coding Contributions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line after heading.

Missing blank line after the "## Non-Coding Contributions" heading.

📝 Proposed fix
 ## Non-Coding Contributions
+
 AI is a powerful accelerator, but it's not perfect. We rely on the community to ensure quality and depth.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Non-Coding Contributions
## Non-Coding Contributions
AI is a powerful accelerator, but it's not perfect. We rely on the community to ensure quality and depth.
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 84-84: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 84, The README is missing a blank line after the heading
"## Non-Coding Contributions"; open the README.md and insert a single empty line
immediately following the "## Non-Coding Contributions" heading so that the
heading is separated from the following content and renders correctly.

AI is a powerful accelerator, but it's not perfect. We rely on the community to ensure quality and depth.

* **Improve Theories**: AI-generated explanations can be generic or miss nuance. If you have a better explanation, analogy, or diagram for a concept, please submit a PR!
Expand All @@ -73,7 +91,7 @@ AI is a powerful accelerator, but it's not perfect. We rely on the community to
* **Community Questions**: Identify gaps in our question bank and add commonly asked questions or "gotchas" for specific topics.
* **Expand Scope**: PRs adding support for **other competitive exams** are highly welcome! Let's build a universal free platform together.

### Testing
## Testing
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line after heading.

Missing blank line after the "## Testing" heading.

📝 Proposed fix
 ## Testing
+
 The project includes a comprehensive test suite that runs in Docker.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Testing
## Testing
The project includes a comprehensive test suite that runs in Docker.
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 94-94: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 94, Add a single blank line after the "## Testing" heading
in README.md so the heading is followed by an empty line before the next
content; locate the "## Testing" heading and insert one newline immediately
after it to ensure proper Markdown rendering.

The project includes a comprehensive test suite that runs in Docker.

**1. Generator Tests (Backend)**
Expand All @@ -92,6 +110,13 @@ docker run --rm --network gatebuster_app_network \
/bin/sh -c "npm install && npx playwright test"
```
*Note: Ensure the frontend service is running (`docker compose up`) before starting Playwright tests.*
## Project Structure
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line before heading.

Missing blank line above the "## Project Structure" heading.

📝 Proposed fix
 *Note: Ensure the frontend service is running (`docker compose up`) before starting Playwright tests.*
+
 ## Project Structure
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 113-113: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 113, Insert a single blank line immediately above the "##
Project Structure" heading so the markdown heading is separated from the
previous paragraph or block; specifically locate the line containing "## Project
Structure" and add one empty line before it to ensure correct Markdown
rendering.


- `generator/` → Python backend pipeline
- `frontend/` → React-based UI
- `docker-compose.yml` → Service orchestration
- `arch.md` → Detailed architecture documentation
- `CONTRIBUTING.md` → Contribution guidelines

## License
Apache 2.0 License - see `LICENSE` for details.