Skip to content

Conversation

spencerfrost
Copy link
Collaborator

@spencerfrost spencerfrost commented Mar 2, 2025

Blueprint Site V2: Comprehensive Modernization & Overhaul

Overview

This major pull request represents a complete transformation of the Blueprint Site, modernizing both the technology stack and user experience. The changes establish a professional-grade platform ready to handle significant traffic with an entirely new architecture and design system.

Key Technology Updates

  • Frontend Framework: Upgraded to React 19 with enhanced component architecture
  • Build System: Migrated to Vite for faster development and optimized production builds
  • Styling: Implemented Tailwind CSS v4 with custom design tokens and responsive utilities
  • UI Components: Integrated shadcn/ui component library for consistent, accessible interfaces
  • Backend Infrastructure:
    • Replaced Supabase with Appwrite for comprehensive backend services
    • Leveraging Appwrite's databases (2.2K documents), storage (122MB across 4 buckets), and authentication
    • Abstracted backend access through custom React hooks for clean data fetching
  • Search: Implemented Meilisearch for high-performance content discovery
  • Code Quality: Added ESLint, Prettier, and React Compiler for improved development experience

Major Feature Improvements

User Experience

  • Completely redesigned responsive UI with mobile-first approach
  • Enhanced navigation system with improved menus and user flows
  • Implemented dark/light mode with proper theme persistence
  • Added social sharing functionality across content types
  • Created new grid-based layouts for content discovery
  • Improved loading states and performance optimizations

Content Management

  • Redesigned schematic upload flow with multi-step validation
  • Implemented infinite scroll for content browsing
  • Added tag-based filtering and advanced search capabilities
  • Created new data visualization components for statistics
  • Improved image handling with lazy loading and optimization
  • Added comprehensive changelogs system for tracking updates

Authentication & User Management

  • Role-based access control for protected routes
  • Enhanced user profile management
  • Implemented admin panel with moderation capabilities
  • Added cookie consent dialog for compliance

Technical Architecture

  • Schema-driven data modeling with TypeScript interfaces
  • Feature-based code organization for better maintainability
  • Containerized deployment with Docker and Nginx configuration
  • Internationalization support throughout the application
  • Custom hooks architecture separating data logic from UI components

Technical Debt Reduction

  • Removed obsolete HTML/CSS/JS files
  • Eliminated unused images and assets
  • Reorganized component and file structure
  • Standardized naming conventions
  • Improved code documentation and commenting

This release represents hundreds of commits across multiple developers, establishing Blueprint Site as a modern, scalable platform ready for significant growth while providing an exceptional user experience.

@spencerfrost spencerfrost marked this pull request as draft March 2, 2025 20:06
@timiliris timiliris added major update Significant change affecting multiple components IN PROGRESS labels Mar 4, 2025
{preview ? (
<div className='relative w-full py-4'>
<img
src={preview}

Check warning

Code scanning / CodeQL

DOM text reinterpreted as HTML Medium

DOM text
is reinterpreted as HTML without escaping meta-characters.
DOM text
is reinterpreted as HTML without escaping meta-characters.

Copilot Autofix

AI 6 months ago

To fix the problem, we need to ensure that the preview value is properly validated or sanitized before being used as the src attribute of the img element. One way to achieve this is by using a library like DOMPurify to sanitize the URL. Additionally, we should validate that the URL is a valid image URL.

  1. Install the DOMPurify library.
  2. Import DOMPurify in the ImageUploader component.
  3. Use DOMPurify to sanitize the preview value before setting it as the src attribute of the img element.
Suggested changeset 1
src/components/utility/ImageUploader.tsx

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/src/components/utility/ImageUploader.tsx b/src/components/utility/ImageUploader.tsx
--- a/src/components/utility/ImageUploader.tsx
+++ b/src/components/utility/ImageUploader.tsx
@@ -1,2 +1,3 @@
 import { useState, useEffect, useRef } from 'react';
+import DOMPurify from 'dompurify';
 import { Button } from '@/components/ui/button';
@@ -75,3 +76,3 @@
           <img
-            src={preview}
+            src={DOMPurify.sanitize(preview)}
             alt='Preview'
EOF
@@ -1,2 +1,3 @@
import { useState, useEffect, useRef } from 'react';
import DOMPurify from 'dompurify';
import { Button } from '@/components/ui/button';
@@ -75,3 +76,3 @@
<img
src={preview}
src={DOMPurify.sanitize(preview)}
alt='Preview'
Copilot is powered by AI and may make mistakes. Always verify output.
Unable to commit as this autofix suggestion is now outdated
spencerfrost and others added 20 commits March 27, 2025 14:46
This commit enhances the user schematic list with visual improvements, edit functionality, and a more streamlined user experience. It also adds a tetris game to the 404 page.

- Improve schematic card design with avatar and blurred background.
- Add edit button to schematic cards.
- Implement edit schematic navigation.
- Add tetris game to 404 page.
…mprovement

Fix: Improve schematic edit form and list
…action types, improving maintainability and type safety
…improving performance and reducing unnecessary re-renders
This commit introduces a toolbox feature with links to upload schematics, browse addons, and view the user profile. It also includes a theme toggle and styling for the buttons.
spencerfrost and others added 30 commits July 13, 2025 17:55
feat: enhance environment configuration with APP_BASE_URL and APP_POR…
Navigation links in footer led to relative paths (most of the time, not 100%, weird), now absolute.

Co-authored-by: Yehor <[email protected]>
* test revamp

* fix every freaking db usage

* Fixes were made and now the site works properly with new Meilisearch and with some new appwrite changes
* test revamp

* fix every freaking db usage

* Fixes were made and now the site works properly with new Meilisearch and with some new appwrite changes

* Fix lint

* Update src/components/features/admin/addons/AutoAddFeaturedAddon.tsx

Co-authored-by: Copilot <[email protected]>

* fix

---------

Co-authored-by: Copilot <[email protected]>
* test revamp

* fix every freaking db usage

* Fixes were made and now the site works properly with new Meilisearch and with some new appwrite changes

* Fix lint

* Update src/components/features/admin/addons/AutoAddFeaturedAddon.tsx

Co-authored-by: Copilot <[email protected]>

* fix

* fix ts

---------

Co-authored-by: Copilot <[email protected]>
* test revamp

* fix every freaking db usage

* Fixes were made and now the site works properly with new Meilisearch and with some new appwrite changes

* Fix lint

* Update src/components/features/admin/addons/AutoAddFeaturedAddon.tsx

Co-authored-by: Copilot <[email protected]>

* fix

* fix ts

* updates

* Made the authors display correctly on the addon cards

* updated the schematics to make them work and added debug modes

* updates

---------

Co-authored-by: Copilot <[email protected]>
* test revamp

* fix every freaking db usage

* Fixes were made and now the site works properly with new Meilisearch and with some new appwrite changes

* Fix lint

* Update src/components/features/admin/addons/AutoAddFeaturedAddon.tsx

Co-authored-by: Copilot <[email protected]>

* fix

* fix ts

* updates

* Made the authors display correctly on the addon cards

* updated the schematics to make them work and added debug modes

* updates

* updates to ui

* redeploy test

* fixed errors

* add headers for cloduflare

* e

* r

* add headers

* fix npm errors

* fix npm v2

* trigger redeploy

---------

Co-authored-by: Copilot <[email protected]>
This commit standardizes array handling across addons and blogs (e.g., `minecraft_versions`, `categories`, `authors`) to support both single and multiple values. It introduces type refinements for addons and blogs, improves mutation logic by excluding unnecessary fields (e.g., `$id`, `$permissions`), and adjusts components and utilities for better type safety and consistency. Additionally, redundant types and comments are cleaned up.
This commit consistently removes unnecessary fields (e.g., `$id`, `$permissions`) across blog, addon, and schematic mutation functions. Improves code readability by streamlining deserialization logic and annotation.
…ocation

This commit introduces a `build:ci` script with a reduced memory limit for CI environments and updates the `build` script to allocate more memory for local builds, improving compatibility and preventing potential memory-related build issues.
This commit adds a `_headers` file to the dist folder to define custom headers for specific files. Prebuilt assets are generated to support deployment requirements.
* feat: implement feedback feature with submission, admin management, and UI components

* Update src/hooks/useFeedback.ts

Co-authored-by: Copilot <[email protected]>

* Update src/api/appwrite/useFeedback.ts

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Yehor <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Yehor <[email protected]>
…ing and user management + total refactor of the admin panel
…ing and user management + total refactor of the admin panel
…te addon entries; refactor scrolling behavior for smoother animations
…essary re-renders; refactor data fetching logic to avoid duplicates
…essary re-renders; refactor data fetching logic to avoid duplicates
…essary re-renders; refactor data fetching logic to avoid duplicates
Improve type safety and array handling in addons and blogs
* Made a quick fix to the review mode and Made the wording better

* cleanup left out debug points
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major update Significant change affecting multiple components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants