Skip to content

Simpl api studio#26

Merged
ByteKatana merged 63 commits into
mainfrom
simpl-api-studio
Jul 3, 2026
Merged

Simpl api studio#26
ByteKatana merged 63 commits into
mainfrom
simpl-api-studio

Conversation

@ByteKatana

@ByteKatana ByteKatana commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Closes #24 and #25

This PR introduces significant updates to the Simpl:API project, featuring the launch of Simpl:API Studio, a comprehensive UI for content and user management. It also includes architectural enhancements for security, performance, and documentation.

🚀 Key Features & Enhancements

  • Simpl:API Studio: Introduced a modern administrative interface for managing:
    • Entries & Entry Types: New visual entry type builder with drag&drop support allowing users to design their content type easily.
    • Status Management: Added Draft/Published/Archived status handling for entry types and entries and Active/Inactive/Disabled for users. If you set the status of a user as Disabled, it will be considered banned by the system.
    • User Management: New UIs for creating, editing, and managing user profiles, including the user's own profile with third-party profile image provider support.
    • Permission Groups: Granular Role-Based Access Control (RBAC) with a new PermissionGroup structure.
    • Real-time Dashboard: Added a multi-tab overview with live system metrics, traffic charts, and activity logs.
    • Authentication: Added 10+ OAuth 2.0 Provider support and also email verification support for new registered users.
    • More Detailed Settings: Added more granular controls to the settings page that includes;
      • Identity Settings: Manage several authentication options, including email and password as built-in methods, most popular OAuth providers as 3rd-party methods. Set default permission group for newly registered users, and also the profile image provider. Currently, Gravatar, DiceBear, RoboHash, and Monogram (as fallback) supported. You can also set No Default to allow users to choose their profile image provider. More settings, including Passkey, OTP, magic links, and 2FA support will be added later.
      • Permission Group Settings: Enhanced with more granular options and better visual design. You can now give system-wide permissions to a group for entry types and entries. Also permission of listing entry types and entry with basic in the data table and reading the full details separated along side separating reading, updating, deleting the entry types themselves and reading, updating, deleting their entries.
      • API Settings: API Key management enhanced with rate limiting support and permission groups. You can now set rate limits (currently, fixed-window only) in general or per API key. You can also set permission groups to API keys to define their specific usage. More API settings will be added in the future, including GraphQL support.
      • Appearance Settings: You can now set the default mode between Light Mode , Dark Mode and System. Additionally, users can change the studio's primary color using the top navbar. More appearance settings will be added in the future.
  • Security & Validation:
    • Implemented a centralized checkPermissionApi utility for multi-permission validation across API routes.
    • Integrated Redis for atomic rate limiting and improved request validation.
    • Enhanced API key validation with a new isValidApiKey utility.
  • Technical Stack Updates:
    • Adopted shadcn/ui for high-quality, reusable components (DataTable, Forms, Modals, etc.).
    • Integrated TanStack Query for automated 30s refetching, infinite loading, synchronized filter states, and optimistic data table updates.
    • Used the TanStack Table for advanced data handling, including pagination, faceted filters, and row actions.
    • Integrated Zod for robust schema-based validation of entries, users, and permissions.
    • Added Zustand for advanced state management.
    • Added Prisma schema for MongoDB to streamline data modeling. Migrating to Prisma completely is in transition.
  • Documentation:
    • Added comprehensive guides: CONTRIBUTING.md, DEVELOPMENT.md, SECURITY.md, CODE-OVERVIEW.md, and AGENTS.md.
    • Updated README.md to reflect the v0.5.0 milestone and project evolution.
    • Added JSDoc comments to critical utility functions and Redis configurations.

🛠 Refactorings & Bug Fixes

  • Permission Logic: Added new, more robust permission logic withhasPermission, hasPermissionApi, checkPermissionApi for backend and PermissionGuard HOC for the UI.
  • Icon Library: Lucide being used as major icon library in this new dashboard.
  • Type Safety: Resolved numerous TypeScript errors and improved interface definitions across the board.
  • Bug fixes: Fixed many bugs while developing the new dashboard, Simpl:API Studio and improved backend robustness along the line.
  • Cleanup: Removed outdated APIs, deprecated Cypress scenarios, and unused code blocks (e.g., redundant finally blocks in controllers).

📝 Documentation Updates

  • Updated setup instructions and project metadata.
  • Updated the license to GNU AGPL v3.

…rds, dialogs, dropdowns, and sidebar components

Signed-off-by: ByteKatana <19264901+ByteKatana@users.noreply.github.com>
…lbar, row actions, faceted filters, and view options
…viders` component to enhance theme and UI functionality
…pdateSchema`, `UserDeleteSchema`, and validation for profile images
…ields, and enhanced `PermissionGroup` structure
…ures

♻️ refactor: adapt `api/v1` and other backend functions to new `simpl-api studio`
@codacy-production

codacy-production Bot commented Jul 3, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 1877 complexity · 405 duplication

Metric Results
Complexity 1877
Duplication 405

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@ByteKatana ByteKatana merged commit 7b3b77a into main Jul 3, 2026
2 checks passed
@ByteKatana ByteKatana deleted the simpl-api-studio branch July 3, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Advanced State Management with Redux or Similar Solutions Overhaul Dashboard UI with Next.js 15/16 and React 19 features using shadcn/ui

1 participant