Skip to content

HarshMN2345/WolfNotes

Repository files navigation

WolfNotes v1.0.3

Overview

WolfNotes API is a Spring Boot-based service designed for generating AI-powered academic notes. It leverages Spring AI for LLM integration and Groq for vector-based retrieval when augmenting generative outputs.

Features

  • Generate structured study notes from a given subject and syllabus
  • Table of Contents, core topic sections, practice questions, and summary of notes
  • Configurable maximum sections
  • Watermarked Mardown output ready for PDF conversion using https://github.com/spawnia/md-to-pdf

Technologies

  • Java 17
  • Spring Boot 3.x
  • Spring AI
  • Groq SDK
  • Maven

Prerequisites

  • JDK 17 or higher installed
  • Maven 3.8.x or higher
  • Internet connection for API calls
  • Groq API key

Getting Started

Clone the Repository

git clone https://github.com/HarshMN2345/WolfNotes-API.git
cd wolfprep

Configure Environment Variables

Create a .env or export in your shell:

export GROQ_API_KEY=your_groq_api_key_here
export SPRING_AI_MODEL=your_llm_model_identifier

Build

Run Maven install to build and run tests:

mvn clean install

Run

Start the Spring Boot application:

mvn spring-boot:run

The service will start on http://localhost:8080 by default.

API Endpoints

Generate Notes

  • URL: /api/notes

  • Method: POST

  • Request Body:

    {
      "subject": "Subject Name",
      "syllabus": "Topic1\nTopic2\nTopic3"
    }
    

    example

    {
    "subject": "Advanced Concepts in Data Analytics",
    "syllabus": "1. Vector Space: Definition, axioms, examples in data analysis\n2. Subspaces: Criteria, examples, null space and column space\n3. Linear Independence: Definition, checking independence, significance in data modeling\n4. Basis and Dimension: Basis of a vector space, computing dimension\n5. Eigenvalues and Eigenvectors: Definitions, geometric interpretation\n6. Properties and Applications: Diagonalization, spectral theorem, and relevance in PCA"
    }
  • Response: markdown containing the formatted notes

Health Check

  • URL: /actuator/health
  • Method: GET
  • Response: Application health status

Configuration

The following properties can be set in application.properties or via environment variables:

Property Description Default
server.port HTTP port for the application 8080
groq.api.key API key for Groq required
spring.ai.model Identifier of the LLM in Spring AI required
notes.maxSections Maximum number of core topic sections 10

Logging

Logs are output to the console. Adjust log level in application.properties:

logging.level.com.sotiras.wolfprep=DEBUG

Versioning

This project uses Semantic Versioning:

  • v1.0.0: Initial release with core note-generation features

Contributing

Feel free to open issues or submit pull requests. Make sure to follow the existing code style and include tests for new functionality.

License

MIT License © 2025 Sotiras

About

WolfNotes API is a Spring Boot service that uses AI to generate structured academic notes from a subject and syllabus. It supports Markdown output, vector-based retrieval with Groq, and easy integration for PDF export. wolfnotes.vercel.app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors