DASH is a distributed code execution and deployment system designed using React, Firebase, and Tauri APIs. It allows clients to submit code, schedule tasks, and execute them efficiently through connected nodes. DASH focuses on simplifying task scheduling and automating code execution workflows.
- Task Scheduling: Assigns pending tasks to idle clients automatically.
- Distributed Execution: Executes tasks in parallel across connected nodes.
- Real-time Updates: Uses Firebase for real-time communication and task updates.
- Secure Code Handling: Ensures code integrity and security throughout the execution pipeline.
- Scalability: Easily scalable with multiple connected nodes.
1. Clients Submit Code:
- Code is submitted via Firebase with a 'pending' status.
2. Scheduler Monitors Tasks:
- Listens for pending tasks and assigns them to idle clients.
3. Clients Execute Tasks:
- Idle clients listen for assignments, execute code, and report results.
4. Result Reporting:
- Execution results are updated in Firebase.
5. Notifications:
- Original clients are notified of the results.
- Framework: Tauri + Next.js
- Styling: Tailwind CSS
- Tauri API: Used for secure desktop interactions.
- Database: Firebase Realtime Database and Firestore.
- Deployment: Scheduler in Cloud Functions
- Language: Python
- Libraries: Firebase Admin SDK
- Task Distribution: Custom algorithm for dynamic task allocation.
- Initialize Dash - Connect the app.
- Submit Code - Clients upload code with metadata to Firebase.
- Scheduler Assignment - Scheduler assigns pending tasks to idle clients.
- Execution & Reporting - Clients execute the assigned code and update the results.
Adithya Krishnan |
Ferwin Lopez |
Nevia Sebastian |
Nikita Nair |
This project is licensed under the MIT License.