Skip to content

Release: Merge develop into main#14

Merged
TUT888 merged 74 commits intomainfrom
develop
Dec 30, 2025
Merged

Release: Merge develop into main#14
TUT888 merged 74 commits intomainfrom
develop

Conversation

@TUT888
Copy link
Owner

@TUT888 TUT888 commented Dec 30, 2025

Summary

This PR promotes the latest stable work from develop into main.
It includes multiple feature branches that have already been reviewed and merged into develop.

Supported Features

1. User Authentication

For detailed information, please refer to the feature/auth branches its PRs

  • Register, login, logout, and refresh tokens
  • JWT-based secure authentication
  • Secure access to user profile information

2. AI-Powered Quiz Generation

For detailed information, please refer to the feature/ai-quiz-generation branch and its PRs

  • Generate quizzes from notes using HuggingFace models
  • Sample endpoint for testing without authentication

3. Other CRUD Management Features

For detailed information, please refer to the feature/XXX-basic-crud branches and their PRs

Document Management (CRUD): All types of documents including notes, flashcards, and quizzes

  • List all documents by user, or delete specific document

Note Management:

  • Create, update, retrieve, and delete notes

Flashcard & Flashcard Sets Management:

  • Create, update, retrieve, and delete flashcards
  • Organize flashcards into sets

Quiz & Quiz Sets Management:

  • Create, update, retrieve, and delete quizzes
  • Organize quizzes into sets
  • Track quiz attempts and scores

Testing and CI/CD

For detailed information, please refer to PR #13

Tests can be run manually and automatically on PR created

  • Unit tests for NoteService (business logic with mocked dependencies)
  • Integration tests for DocumentRepository (using in‑memory H2 database by default)
  • Integration tests for NoteController (using MySQL and Redis containers via Testcontainers)

TUT888 and others added 30 commits October 7, 2025 00:33
* 🔨 feat(auth-register): Handle register a new user (without Spring Security: JWT + BCrypt)

* ♻️ refactor(auth-register): Refactor table names in database

* 🦺 feat(auth-register): Handle ErrorCode + message for validation exception

* 🦺 feat(auth-register): Resolve invalid error code key for validation
* 🔨 feat(auth-login): Handle login user (without Spring Security: JWT + BCrypt)

* 🔧 feat(auth-login): Implement BCrypt hasing and refactor AuthenticationService

* ♻️ refactor(auth-login): Refactor UserResponse and AuthenticationService

* 🛂 feat(auth-login): Handle Access Token and Refresh Token using JWT with RSA key pair

* 🛂 feat(auth-login): Apply KeyStore to save public and private key

* 🛂 feat(auth-login): Handle refresh Access Token + Refresh Token requests

* 🔨 feat(auth-me): Handle /me endpoint for current user profile

* 🔒 feat(auth-security): Implement custom AuthenticationEntryPoint for consistent 401 JSON response
* 🔧 feat(auth-logout): Handle /logout with blacklisting access token using in-memory cache

* 🔧 feat(auth-logout): Handle Blacklisting Access Token using Redis

* 🔨 feat(auth-logout): Handle Revoking previously used Refresh Token after executing refresh request using Redis
Feature/notes basic crud
- Implement GET all Document object
- Implement DELETE a document object with specific id
- Implement basic CRUD operations on note objects
TUT888 and others added 28 commits November 9, 2025 01:32
Feature: Basic CRUD for Quiz Attempt and Minor Changes
Feature: Date-time format in response + new endpoints for notes and quiz
Test: Added Unit and Integration Tests for note-related features
@TUT888 TUT888 merged commit 0e484f9 into main Dec 30, 2025
@TUT888
Copy link
Owner Author

TUT888 commented Dec 30, 2025

Proceeding with merge as the collaborator is temporarily unavailable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants