Inspiration
I have worked many times with Jupyter Notebook for university classes. Installing kernels for R and Julia was met with pretty cumbersome debugging issues. Even then, sometimes the kernel will die. As a lightweight attempt to resolve the time consumption issue with setting up Jupyter notebook in different runtimes, I have created an Electron desktop application that can easily select languages by cell rather than by notebook.
What it does
The project is a Jupyter Notebook emulator and oversimplified. It currently has only one cell as it is in the testing phase. The available languages are Python, Julia, R, Rust, and Bash.
How we built it
Electron js was solely used for the UI and main structure of the application. Just like an actual Jupyter Notebook, there are buttons for running and adding a cell. In this app, the dropdown for language selection also subdivides choices into interpreted, compiled, and other categories. Code as text is stored in CockroachDB automatically upon clicking run. Optionally, the user may manually run the saved output code through a backend script using Jina to set up a document/cell dependency tree for better organization.
Edit: Webpage now replaces the electron application, which came to an impasse in frontend development.
Challenges we ran into
This was my first time building something with Electron, so the learning curve was pretty much the hard part.
Accomplishments that we're proud of
Getting the window to show up was already a first-time accomplishment. However, I also began learning Sequelize for integration with CockroachDB. Learning popular tools whether for backend or frontend is always an accomplishment.
What we learned
First time using some framework will always have major bumps. However, using certain tools for the first time may also introduce you to other new technologies.
What's next for OmniJupyter
Continue learning about event handling, connecting to a database in JavaScript, and obviously making the desktop application more functional.
Built With
- cockroachdb
- css
- electron
- html
- javascript
- sql
Log in or sign up for Devpost to join the conversation.