Welcome to Mistletoe Security – a modern, responsive web application built with Vaadin and Java. This project leverages the latest best practices for a secure, scalable, and visually engaging experience.
Start developing instantly:
./mvnw
Or, open your IDE and run the Application
class.
Build an optimized production package:
./mvnw -Pproduction package
Get up and running quickly! See the Vaadin Getting Started Guide for step-by-step instructions, including:
- Project Structure: Understand the layout and organization
- Environment Setup: IDE, tools, and dependencies
- Customization: Theming, icons, and animations
- Vaadin Resources: Tutorials, docs, and community
Mistletoe Security is built with a mobile-first, responsive layout using Vaadin’s powerful UI components:
- Material Design Icons: Enhance navigation and actions
- Animated Transitions: Smooth modal, notification, and page transitions
- Customizable Themes: Light/dark mode support
- Adaptive Layouts: Seamlessly scale from desktop to mobile
Feature | Description | Icon Example |
---|---|---|
Dashboard | Overview of security status | 🛡️ |
Alerts | Real-time notifications | 🚨 |
User Management | Add/edit user roles and permissions | 👤 |
Reports | Export and visualize data | 📊 |
All icons are from Material Design or Vaadin Icons.
- Secure by Design: Follows OWASP recommendations
- Modern Stack: Java, Vaadin, Maven
- Extensible: Add new views, endpoints, and integrations with minimal effort
The project is designed for easy customization. To add new features:
- Create a Vaadin View: Extend
VerticalLayout
or use@Route
- Add Icons: Use Vaadin or Material icons via
<vaadin-icon>
tags - Integrate Animations: Use CSS or Vaadin animation utilities
- Configure Security: Update Spring Security config for new endpoints
See /src/main/resources/themes/
for theme files and /src/main/java/
for view logic.
We welcome feedback and contributions! Please open issues or submit pull requests with your improvements.
💡 Tip: Explore the interactive dashboard and animated notifications for the best experience.