Aug 2022 - Present
Tiny and Minimal Code Editor supports multiple languages
The Challenges
The challenge was to develop a minimal code editor with multiple language supports. This editor should have
• A simple UI
• Some basic customization options like font face, font size, theme vice-versa.
• A user can search from the language selectors. The language list might be huge so, it better to implement search functionality.
• It should have an intuiting code editor interface with minimum support for highlighting, auto-completion, and code snippets.
• There should be a STDIN and STDOUT section to show the input and output of the code.
Built With
• Frontend: React, Material UI, Monaco Editor
• API: Judge0
• Build Tools: Vite
• Deployment: Vercel
• Architecture: Atomic Design
What I learned
• How to work with Monaco editor specifically with React.
• How to use Monaco Editor API to customize the editor.
• How to use Judge0 API to compile and run the code.
• How to use Webhooks to get the callback results from the API.
Useful resources
References
• Monaco Editor - This is the official documentation of the Monaco Editor. It has a lot of examples and API documentation. (https://microsoft.github.io/monaco-editor/)
• Judge0 - This is the official documentation of Judge0 API. It has a lot of examples and API documentation. (https://judge0.com/)
• Monaco React - This is the official documentation of Monaco React. It has a lot of examples and API documentation. (https://github.com/moeen-mahmud/NanoDe-Online-IDE)
Articles
• Make your own online compiler with React - Akash Gupta (https://medium.com/dsckiit/make-your-own-online-compiler-in-react-%EF%B8%8F-b06bc29dd202)
• Build an online code compiler using React.js and Node.js - Geeks for Geeks (https://www.geeksforgeeks.org/build-an-online-code-compiler-using-react-js-and-node-js/)