An App to practice programming.
- Electron, A framework for creating native cross-platform desktop applications using web technologies.
- Bulma, A light-weight, modular CSS framework.
- Monaco Editor, A browser based code editor that powers VSCode.
- Install nodejs (https://nodejs.org/en/download/)
- Install Electron Forge (
npm install -g electron-forge
) - git clone https://github.com/1nv1n/code-goes-here.git
- Switch to the cloned directory & run:
npm install
npm start
- (Optional) Register for an account at JDoodle & get your Client ID & Secret. Set these through App's "Settings"
- (Optional) Create a personal access token at GitHub. Set this through the App's settings.
- A dual editor system to practice programming.
- An editor to describe the practice problem & another to code the solution.
- Compile code using an online compiler to generate the output & provide statistics.
- Download & commit back to GitHub.
- "File Browser" like functionality to see & categorize (folders) solutions & offer advanced local Git as well as GitHub integration.
- Provision a "snippets" system that allows for user-defined snippets & code (commonly used methods) to be pulled in at will to avoid write-duplication.
- Create a tags system to allow for problems & solutions to be tagged (user-defined (eg: easy, hard, leet, tree, graph, array, etc.)).
- Add in customizable "timer".
- Advanced/multiple third-party compiler integration.
- LeetCode integration.
- Basic compiler provision (JDoodle).
- Basic GitHub integration (Commit to provided repository).
- Basic HTTP "download" of description & solution (eg: Raw content from GitHub).
- Set basic code editor (Monaco).
- Set basic description editor (Monaco).
- Pull in the Monaco Editor.
- Pull in the Bulma CSS framework.
- Initialize Electron application using Electron Forge.