Files
Juan Denis b4f5a466ce Add audit fallback, builtin extensions, and ports
Introduce fallback audit logging and enrich audit tooling; add builtin extension discovery/install; and update default launcher ports and related docs/config.

Key changes:
- New middleware app.middleware.audit registers an after-request fallback that records authenticated mutating API requests when routes don't emit explicit audit logs.
- Audit model/action constants extended and AuditService enhanced (request context handling, redaction for sensitive settings, optional commit flag, sets g.audit_logged, emits events).
- Routes/services updated to create explicit audit entries for marketplace and plugin operations (create/update/publish/install/uninstall/enable/disable) and SSO/settings flows switched to use AuditService.
- Added tests for audit logging behavior and redaction (backend/tests/test_audit_log.py).
- Plugin service: added BUILTIN_EXTENSIONS_DIR, list_builtin_extensions and install_builtin_extension; plugin API endpoints to list/install builtin extensions.
- Contribution system extended to support layouts and route layout metadata; frontend wiring updated to surface standalone/custom layouts and extension routes.
- Launcher port defaults changed (backend -> 47927, frontend -> 41921). Updated backend .env.example, config CORS defaults, Dockerfiles and docker-compose to use SERVERKIT_BACKEND_PORT, and many docs/README files and frontend envs to reflect new ports.
- Minor frontend cleanups and new builtin extension example (serverkit-git) plus associated manifest and frontend re-export.

These changes improve observability/security for mutating APIs, enable opt-in builtin plugins, and align local dev/run ports with the launcher defaults.
2026-05-03 15:57:02 -04:00

92 lines
1.8 KiB
Markdown

# React Dashboard Template
A modern React dashboard application boilerplate built with Vite, featuring routing, charts, and a sidebar layout for building data-driven web interfaces.
## Features
- **React 18** with functional components and hooks
- **Vite** for fast development and building
- **React Router** for client-side routing
- **Recharts** for data visualization
- **Lucide React** for icons
- **ESLint** for code linting
- Responsive sidebar layout
- Dashboard page with sample components
## Getting Started
### Prerequisites
- Node.js 16+ and npm
### Installation
1. Clone or download this template
2. Install dependencies:
```bash
npm install
```
### Development
Start the development server:
```bash
npm run dev
```
The app will be available at `http://localhost:41921`.
### Building for Production
Build the app for deployment:
```bash
npm run build
```
The output will be in the `dist/` directory.
### Preview Production Build
```bash
npm run preview
```
## Project Structure
```
src/
├── App.jsx # Main app with routing
├── main.jsx # Entry point
├── index.css # Global styles
├── components/
│ └── Sidebar.jsx # Navigation sidebar
├── layouts/
│ └── DashboardLayout.jsx # Main layout wrapper
└── pages/
└── Dashboard.jsx # Main dashboard page
```
## Customization
- Modify components in `src/components/`
- Add new pages in `src/pages/`
- Update routes in `App.jsx`
- Customize styles in `index.css` or component files
## Environment Variables
Create a `.env` file in the root for environment variables:
```env
VITE_API_URL=https://api.example.com
```
Access them in code via `import.meta.env.VITE_API_URL`.
## Contributing
See the documentation files for AI agent permissions and guidelines.