Skip to content

theogenejr/javascriptlab

Repository files navigation

# JavaScriptLab

JavaScriptLab is an open-source, interactive JavaScript notebook application
that allows users to write, execute, and visualize JavaScript code in a
user-friendly environment. It combines the power of a code editor with the
flexibility of a notebook interface, making it ideal for learning, prototyping,
and sharing JavaScript code.

## Features

- Interactive JavaScript environment
- Notebook-style interface with code and markdown cells
- Real-time code execution
- Syntax highlighting and autocompletion
- Data visualization capabilities
- Offline support
- Cross-platform compatibility (Web and Desktop versions)

## Getting Started

### Prerequisites

- Node.js (v14 or later)
- npm (v6 or later)

### Installation

1. Clone the repository:

   ```
   git clone https://github.com/yourusername/javascriptlab.git
   cd javascriptlab
   ```

2. Install dependencies:

   ```
   npm install
   ```

3. Start the development server:

   ```
   npm run dev
   ```

4. Open your browser and navigate to `http://localhost:3000` to use
   JavaScriptLab.

## Usage

1. Create a new notebook or open an existing one.
2. Add code cells to write JavaScript code.
3. Add markdown cells for documentation and explanations.
4. Execute code cells to see the results in real-time.
5. Save your notebook for future use or share it with others.

## Contributing

We welcome contributions to JavaScriptLab! If you'd like to contribute, please
follow these steps:

1. Fork the repository
2. Create a new branch (`git checkout -b feature/AmazingFeature`)
3. Make your changes
4. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
5. Push to the branch (`git push origin feature/AmazingFeature`)
6. Open a Pull Request

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of
conduct and the process for submitting pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
for details.

## Acknowledgments

- [Next.js](https://nextjs.org/) - The React framework used
- [Monaco Editor](https://microsoft.github.io/monaco-editor/) - The code editor
  component
- [Electron](https://www.electronjs.org/) - Used for the desktop application
  version

## Contact

Theogene Junior - [@theogenejr](https://x.com/theogenejr) - [email protected]

Project Link:
[https://github.com/theogenejr/javascriptlab](https://github.com/theogenejr/javascriptlab)