Skydash.NET is a full-stack application designed to provide an intuitive and powerful interface for managing MikroTik devices. It combines a real-time monitoring dashboard with comprehensive management tools for PPPoE, Hotspot, and network assets, enhanced with an interactive WhatsApp bot for on-the-go management.
- Real-time Dashboard: Monitor CPU, RAM, disk usage, and interface traffic in real-time.
- PPPoE & Hotspot Management: View, add, edit, delete, disable, and kick active users with ease.
- IP Pool Management: Automatically assign IP addresses to new PPPoE users based on profiles.
- Network Asset Mapping: Visualize your network infrastructure (ODP, ODC, etc.) on an interactive map with KML import functionality.
- SLA Reporting: Track user uptime and generate Service Level Agreement reports.
- Interactive WhatsApp Bot: * Receive critical alerts (high CPU, device offline). * Get automated daily performance reports. * Execute commands directly from WhatsApp (e.g., check user status, kick users).
- Secure Authentication: Two-factor authentication using OTP sent via WhatsApp.
- Multi-Device & Multi-User Ready: Built with a workspace concept to support multiple users and devices.
Frontend | Backend |
---|---|
Next.js 15 (with App Router) | Node.js |
React 19 & TypeScript | Express.js |
Tailwind CSS | MySQL 8 |
Chart.js for data visualization | node-routeros for MikroTik API |
Leaflet for interactive maps | @whiskeysockets/baileys for WhatsApp Bot |
Framer Motion for animations | JWT for Authentication |
shadcn/ui (components) | node-cron for Scheduled Tasks |
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v18 or later)
- MySQL or MariaDB
- A RouterOS 7.xx version
- A dedicated WhatsApp number for the bot.
1. Navigate to the backend directory:
cd Skydash.NET Apps/backend
2. Install dependencies:
npm install
3. Setup the database:
- Create a new MySQL database (e.g.,
skydash_net
). - Execute the SQL statements from the Database Schema section below to create all the necessary tables.
4. Configure environment variables:
- Create a
.env
file in thebackend
directory by copying.env.example
(if available) or creating a new one. - Fill in the required variables:
DB_HOST=localhost
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=skydash_net
JWT_SECRET=your_super_secret_jwt_key
PORT=9494
5. Run the backend server:
npm run dev
The backend API will be running on http://localhost:9494
.
1. Navigate to the frontend directory:
cd "Skydash.NET Apps/next"
2. Install dependencies:
npm install
3. Run the frontend development server:
npm run dev
The application will be accessible at http://localhost:3000
.
For a more in-depth guide on configuration, architecture, and feature usage, please visit the Skydash.NET Project Wiki.
The wiki contains detailed information on:
- Database Schema
- MikroTik Script Configuration
- Feature Workflows
- And much more.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature
) - Commit your Changes (
git commit -m 'Add some New Feature'
) - Push to the Branch (
git push origin feature/NewFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.