143 lines
4.0 KiB
Markdown
143 lines
4.0 KiB
Markdown
# Eventify Command Center 🚀
|
|
|
|

|
|

|
|

|
|
|
|
The **Eventify Command Center** is the central administration dashboard for the Eventify platform. It provides sophisticated tools for User Management, Event Analytics, Support CRM, and Platform Moderation. Designed with a premium **Neumorphic** aesthetic, it serves as the cockpit for platform administrators.
|
|
|
|
---
|
|
|
|
## 📸 Overview
|
|
|
|
The Command Center is built to be an "Operating System for Events", offering high-density information displays and quick actions.
|
|
|
|
### Key Modules
|
|
- **User Management (CRM)**: comprehensive 360° view of users, bookings, and LTV.
|
|
- **Moderation Tools**: Suspensions, Bans, and "Refund Risk" analysis.
|
|
- **Notification System**: Push notifications and email communication to users.
|
|
- **Analytics Dashboard**: Real-time sales and engagement metrics.
|
|
|
|
---
|
|
|
|
## 🏗 Architecture
|
|
|
|
The application follows a **Feature-Based Architecture** ensuring scalability and maintainability.
|
|
|
|
```mermaid
|
|
graph TD
|
|
Client[Client UI (React/Vite)] -->|User Actions| Actions[Action Handlers]
|
|
Actions -->|Validate| Zod[Zod Schemas]
|
|
Actions -->|Execute| Service[Mock Backend Services]
|
|
Service -->|Log| Audit[Audit Logger]
|
|
|
|
subgraph UI Layer
|
|
Client
|
|
Components[Shadcn UI Components]
|
|
end
|
|
|
|
subgraph Logic Layer
|
|
Actions
|
|
Hooks[Custom Hooks / Nuqs]
|
|
end
|
|
|
|
subgraph Data Layer
|
|
Service
|
|
Types[TypeScript Interfaces]
|
|
end
|
|
```
|
|
|
|
### Tech Stack
|
|
- **Framework**: [Vite](https://vitejs.dev/) + React 18
|
|
- **Language**: TypeScript
|
|
- **Styling**: [Tailwind CSS v4](https://tailwindcss.com/)
|
|
- **UI Components**: [Shadcn UI](https://ui.shadcn.com/) + Radix Primitives
|
|
- **State Management**: URL-based state with `nuqs`
|
|
- **Icons**: `lucide-react`
|
|
- **Validation**: `zod`
|
|
|
|
---
|
|
|
|
## 🚀 Getting Started
|
|
|
|
### Prerequisites
|
|
- Node.js 18+
|
|
- npm 9+
|
|
|
|
### Installation
|
|
|
|
1. **Clone the repository**
|
|
```bash
|
|
git clone https://code.bshtech.net/Sicherhaven/eventify-command-center.git
|
|
cd eventify-command-center
|
|
```
|
|
|
|
2. **Install dependencies**
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
3. **Run Development Server**
|
|
```bash
|
|
npm run dev
|
|
```
|
|
Access the app at `http://localhost:8080` (or the port shown in terminal).
|
|
|
|
---
|
|
|
|
## 📂 Project Structure
|
|
|
|
```text
|
|
src/
|
|
├── features/ # Feature-based modules
|
|
│ └── users/ # User Management specific code
|
|
│ ├── components/ # UI Components (Inspector, Table, etc.)
|
|
│ └── data/ # Mock data and services
|
|
├── components/ # Shared global components (ui/ folders)
|
|
├── lib/ # Core utilities
|
|
│ ├── actions/ # Server-style actions (Action handlers)
|
|
│ ├── types/ # TypeScript definitions
|
|
│ └── utils.ts # Helper functions
|
|
├── pages/ # Main route pages
|
|
└── styles/ # Global CSS and Tailwind config
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠 Deployment
|
|
|
|
The application is deployed on the **Sicherh** infrastructure.
|
|
|
|
- **Primary URL**: [https://admin.prototype.eventifyplus.com](https://admin.prototype.eventifyplus.com)
|
|
- **Server**: `sicherh` (Managed via SSH)
|
|
- **Process Manager**: PM2
|
|
|
|
### Deployment Command
|
|
To deploy the latest changes from `main`:
|
|
|
|
```bash
|
|
# SSH into the server
|
|
ssh sicherh
|
|
|
|
# Navigate and Pull
|
|
cd eventify-command-center
|
|
git pull
|
|
|
|
# Build and Restart
|
|
npm install
|
|
npm run build
|
|
pm2 restart next-server
|
|
```
|
|
|
|
---
|
|
|
|
## 🛡 Security & Permissions
|
|
|
|
- **Authentication**: Stubbed for prototype (Admin verification mocks).
|
|
- **Audit Logs**: All administrative actions (Ban, Suspend, Impersonate) are logged to the console/server logs via `lib/audit-logger.ts`.
|
|
- **RBAC**: Role-base access control logic is implemented in the `verifyAdmin` helper.
|
|
|
|
---
|
|
|
|
> Built with ❤️ by **BSH Technologies** for the Eventify Platform.
|