Rumbly is a powerful and intuitive web-based platform for writing, executing, and testing NASM (Netwide Assembler) assembly code right from your browser. It leverages a robust backend built with Express.js and isolates code execution within secure Docker containers, providing a safe and reliable environment for running assembly programs. The frontend is a modern and responsive application built with React and Vite.
- Online NASM Editor: A feature-rich code editor with syntax highlighting for assembly language.
- Real-time Execution: Instantly execute your NASM code and see the output.
- Secure Environment: Code execution is sandboxed in Docker containers to prevent any harm to the host system.
- User-friendly Interface: A clean, intuitive, and responsive UI built with React and Vite.
- API-driven: A well-defined Express.js API to manage code compilation and execution.
- Easy to Set Up: Get the entire platform running locally with just a few commands.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v14 or later)
- npm or yarn
- Docker and Docker Compose
-
Clone the repository:
git clone [https://github.com/IamShaDoW666/rumbly.git](https://github.com/IamShaDoW666/rumbly.git) cd rumbly -
Install frontend dependencies:
cd frontend npm install -
Install backend dependencies:
cd ../api npm install -
Set up environment variables:
Create a
.envfile in theapidirectory and add the following variables:PORT=3000
-
Start the Docker containers:
Make sure Docker is running on your machine. Then, from the root of the project, run:
docker-compose up --build
-
Start the frontend development server:
cd frontend npm run dev -
Start the backend server:
cd api npm start -
Open your browser and navigate to
http://localhost:5173(or the port Vite assigns).
Now you can write your NASM code in the editor and click the "Run" button to see the output.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
