Merge branch 'ui-fix' of https://git.wastpol.pl/admin/Panel into ui-fix

This commit is contained in:
2025-10-04 19:44:39 +02:00

View File

@@ -32,13 +32,37 @@ A comprehensive project management system built with Next.js for managing constr
- Task completion tracking - Task completion tracking
- Quick access to pending items - Quick access to pending items
### 🔐 Authentication & Authorization
- Complete user authentication system with NextAuth.js
- Role-based access control (Admin, User, Guest roles)
- Secure session management
- Password-based authentication
- User registration and management
### 👥 User Management
- Admin interface for user administration
- Create, edit, and delete user accounts
- Role assignment and permission management
- User activity monitoring
### 📋 Audit Logging
- Comprehensive logging of all user actions
- Security event tracking
- System activity monitoring
- Audit trail for compliance and debugging
## Tech Stack ## Tech Stack
- **Framework**: Next.js 15.1.8 - **Framework**: Next.js 15.1.8
- **Database**: SQLite with better-sqlite3 - **Database**: SQLite with better-sqlite3
- **Authentication**: NextAuth.js
- **Styling**: Tailwind CSS - **Styling**: Tailwind CSS
- **Date Handling**: date-fns - **Date Handling**: date-fns
- **Frontend**: React 19 - **Frontend**: React 19
- **Mapping**: Leaflet with React-Leaflet
- **Container**: Docker & Docker Compose - **Container**: Docker & Docker Compose
## Getting Started ## Getting Started
@@ -95,6 +119,16 @@ docker-compose up
The application uses SQLite database which will be automatically initialized on first run. The database file is located at `data/database.sqlite`. The application uses SQLite database which will be automatically initialized on first run. The database file is located at `data/database.sqlite`.
### Admin Setup
To create an initial admin user:
```bash
npm run create-admin
```
This will create an admin user account. Access the admin panel at `/admin/users` to manage users and roles.
## Project Structure ## Project Structure
``` ```
@@ -219,12 +253,25 @@ The application uses the following main tables:
## Advanced Map Features ## Advanced Map Features
This project includes a powerful map system for project locations, supporting multiple dynamic base layers: This project includes a powerful map system for project locations, supporting multiple dynamic base layers and transparent overlays:
### Base Layers (8 total)
- **OpenStreetMap** (default street map) - **OpenStreetMap** (default street map)
- **Polish Geoportal Orthophoto** (aerial imagery via WMTS) - **🇵🇱 Polish Orthophoto (Standard Resolution)** - WMTS aerial imagery
- **Polish Land Records** (WMS cadastral data) - **🇵🇱 Polish Orthophoto (High Resolution)** - WMTS high-res aerial imagery
- **Satellite (Esri)** and **Topographic** layers - **🌍 Google Satellite** - Global satellite imagery
- **🌍 Google Hybrid** - Satellite imagery with road overlays
- **🌍 Google Roads** - Google Maps road view
- **Satellite (Esri)** - Alternative satellite imagery
- **Topographic** - CartoDB topographic maps
### Overlay Layers (6 total with transparency)
- **📋 Polish Cadastral Data** (WMS, property boundaries - 80% opacity)
- **🏗️ Polish Spatial Planning** (WMS, zoning data - 70% opacity)
- **🛣️ LP-Portal Roads** (WMS, road network - 90% opacity)
- **🏷️ LP-Portal Street Names** (WMS, street labels - 100% opacity)
- **📐 LP-Portal Parcels** (WMS, property parcels - 60% opacity)
- **📍 LP-Portal Survey Markers** (WMS, survey points - 80% opacity)
Users can switch layers using the map control (📚 icon). WMTS/WMS layers are configured dynamically using OGC GetCapabilities, making it easy to add new sources. See [`docs/MAP_LAYERS.md`](docs/MAP_LAYERS.md) for details on adding and configuring map layers. Users can switch layers using the map control (📚 icon). WMTS/WMS layers are configured dynamically using OGC GetCapabilities, making it easy to add new sources. See [`docs/MAP_LAYERS.md`](docs/MAP_LAYERS.md) for details on adding and configuring map layers.