Skip to content

Releases: kevinforter/techradar

1.0.2

Choose a tag to compare

@kevinforter kevinforter released this 05 Mar 16:56

Release Notes: Update from [mermaid] to [source, mermaid] in AsciiDoc

Version: 1.0.2
Release Date: 2025-03-12

Overview

This release updates the AsciiDoc syntax for embedding Mermaid diagrams, changing the previous [mermaid] blocks to [source, mermaid]. This modification ensures better compatibility with Asciidoctor and improves rendering consistency across different environments.

Changes

  • Updated Mermaid Syntax:
    • Previous Syntax:
      [mermaid]
      ----
      graph TD
          A --> B
      ----
    • New Syntax:
      [source, mermaid]
      ----
      graph TD
          A --> B
      ----
    • This change aligns with best practices for embedding Mermaid diagrams in AsciiDoc and ensures compatibility with Asciidoctor Diagram.

Benefits

  • Improved Rendering:

    • The updated syntax follows the standard AsciiDoc approach for code blocks, reducing the risk of parsing errors.
  • Better Compatibility with Asciidoctor Diagram:

    • [source, mermaid] ensures that Mermaid diagrams are recognized as code blocks, preventing inconsistencies in rendering.
  • Future-Proofing:

    • This update makes it easier to maintain and extend documentation with other syntax-highlighting or processing tools.

Known Issues

  • Some environments may still require the Mermaid CLI (mmdc) for rendering diagrams correctly.
  • Ensure that the Asciidoctor Diagram plugin is enabled in your documentation pipeline.

Upgrade Instructions

  • If you are using a local Asciidoctor setup, make sure you have the latest version of Asciidoctor Diagram installed:
    gem install asciidoctor-diagram

1.0.1

Choose a tag to compare

@kevinforter kevinforter released this 05 Mar 16:42

Release Notes: AsciiDoc Integration & Mermaid Plugin Requirement

Version: 1.0.1
Release Date: 2025-03-12

Overview

This release introduces full AsciiDoc support for our documentation. By integrating AsciiDoc, we have enhanced our documentation capabilities, making it easier to maintain clear, structured, and easily rendered project documents. Additionally, we now require a Mermaid plugin to support diagram rendering within our AsciiDoc files.

New Features

  • AsciiDoc Documentation Integration:

    • Added support for writing documentation in AsciiDoc format.
    • Integrated with Asciidoctor to render AsciiDoc files into HTML and PDF formats.
    • Enhanced support for embedding diagrams and structured content directly within AsciiDoc files.
  • Mermaid Diagram Plugin:

    • Important: A Mermaid plugin is now required for rendering diagrams. Ensure that the Mermaid CLI (mmdc) is installed and configured properly in your environment.
    • This integration allows you to include Mermaid diagrams in your AsciiDoc documentation, improving the visual representation of complex processes and architectures.
  • Improved Documentation Pipeline:

    • Updated build scripts to process AsciiDoc files automatically.
    • Added templates and guidelines to help developers create consistent and well-organized documentation.

Improvements

  • Enhanced Clarity and Maintainability:
    The new AsciiDoc format provides a clean and modular way to manage documentation, making it easier to update and maintain as the project evolves.

  • Modern Documentation Approach:
    Leveraging AsciiDoc allows better integration with CI/CD pipelines, ensuring that the latest documentation is always generated and published.

Known Issues

  • Some legacy documentation may require manual conversion to fully leverage AsciiDoc features.
  • Additional configuration may be necessary in certain environments to properly integrate the Mermaid plugin and ensure that the mmdc executable is available in the system PATH.

Upgrade Instructions

  • Ensure that the latest version of Asciidoctor is installed in your environment.
  • Install the Mermaid CLI globally via npm:
    npm install -g @mermaid-js/mermaid-cli

1.0.0

Choose a tag to compare

@kevinforter kevinforter released this 05 Mar 12:19

TechRadar Project Release Notes

Version: 1.0.0
Release Date: 2025-03-05

Overview

This release introduces significant updates across the TechRadar project, enhancing both backend services and the frontend user interface. The backend improvements focus on robust database connectivity, secure authentication, and a comprehensive tech management API, while the frontend enhancements deliver a streamlined admin experience, improved authentication flows, and dynamic tech management views.


Backend Details

Database Integration and Initialization

  • Improved MongoDB connectivity using Mongoose with enhanced logging for connection success or failure.
  • Automated database user creation using an initialization script for consistent deployment.

Authentication & Authorization

  • User Registration & Login:
    • Secure registration with bcrypt-based password hashing.
    • Login process includes JWT-based access and refresh token generation.
  • Token Management:
    • Robust token verification, including automatic refresh handling via dedicated endpoints.
  • Role-Based Access Control:
    • Middleware to restrict access based on roles defined in environment variables.
    • Audit logging for privileged actions, capturing login activities for key user roles.

Tech Management API

  • CRUD Operations:
    • Endpoints to add, update, delete, and publish tech items.
    • Built-in validations within the tech model enforce required fields based on status (draft vs. published).
  • Data Grouping:
    • API logic groups tech items by category and maturity (ring) for clearer presentation.

System Status Endpoint

  • A dedicated API endpoint provides real-time server and MongoDB connectivity status to aid in system monitoring.

Frontend Details

Admin Panel

  • Dynamic Tech Management:
    • Admin users can add new tech entries through a reactive form that dynamically updates validators based on the tech status.
    • Integrated with the tech service to update the tech list in real time.

Authentication Components

  • Login Component:
    • User-friendly login form using reactive forms with clear error messaging.
    • On successful login, tokens are stored locally and the user is redirected to the tech dashboard.
  • Register Component:
    • Registration form with client-side validation (including email format checking) that communicates with the backend registration API.

Tech Management UI

  • All Tech Component:
    • Displays tech entries grouped by category and maturity.
    • Supports bulk selection and deletion of tech items, with dynamic UI updates post-deletion.
  • Tech Detail Component:
    • Detailed view and editing interface for individual tech items.
    • Allows toggling between view and edit modes, with functionality to update or publish tech details, and options to delete an entry.

Authentication Handling

  • HTTP Interceptor:
    • Automatically appends JWT access tokens to outgoing HTTP requests.
    • Implements token refresh logic upon receiving a 403 error, ensuring uninterrupted user sessions.
  • Auth Service & Auth State:
    • Manages all authentication API calls (login, logout, registration, and token refresh).
    • Maintains the user’s authentication state and role in a reactive manner to protect routes and enhance UX.
  • Auth Guard:
    • Protects sensitive routes by ensuring only users with specific roles can access them.
  • Tech Service:
    • Provides service-layer methods to interact with tech-related endpoints (e.g., fetching, adding, updating, publishing, and deleting tech items).

Improvements and Fixes

Security Enhancements

  • Enhanced error handling in authentication flows, including robust token validation and refresh mechanisms.
  • Improved backend model validations to ensure data consistency during tech item publication.

Performance Enhancements

  • Optimized API endpoints to reduce response times and improve server performance.
  • Streamlined frontend state management, resulting in a smoother user experience.

User Experience Improvements

  • Enhanced form validation with dynamic updates and clear error messages in the admin, login, and registration interfaces.
  • Improved routing and navigation flows, ensuring a seamless transition between tech management views and authentication pages.

Upgrade Instructions

Backend

  • Update the environment configuration (.env) with proper values for database URLs, tokens, and roles.
  • Run the MongoDB initialization script for setting up a new database instance.
  • Ensure all dependencies are updated to support the new authentication and tech management features.

Frontend

  • Update Angular project dependencies and rebuild the project to include the latest UI and service integrations.
  • Clear browser local storage to remove outdated tokens before deploying the new version.

Future Roadmap

  • Enhanced Analytics & Reporting:
    • Incorporate advanced analytics to monitor tech item performance and user engagement.
  • Mobile Optimization:
    • Further refine mobile responsiveness across the admin panel and tech management pages.
  • Extended Role Management:
    • Expand role-based permissions and add more granular control over user access within the project.