All Projects → vorple → borogove-ide

vorple / borogove-ide

Licence: other
Borogove online IDE for IF languages

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
SCSS
7915 projects

Projects that are alternatives of or similar to borogove-ide

AGD-Studio
An integrated development environment for AGD
Stars: ✭ 39 (+160%)
Mutual labels:  ide
vorple
JavaScript libraries for Vorple
Stars: ✭ 41 (+173.33%)
Mutual labels:  interactive-fiction
puppeteer-ide-extension
Standalone puppeteer playground in browser's developer tools.
Stars: ✭ 65 (+333.33%)
Mutual labels:  ide
SanderOSUSB
32 bit singletasking C kernel
Stars: ✭ 52 (+246.67%)
Mutual labels:  ide
plugin
Laravel Idea plugin for PhpStorm
Stars: ✭ 104 (+593.33%)
Mutual labels:  ide
AG NTRIP ESP
AG Rooftop controller with NTRIP client and IMU (ESP32 Controller)
Stars: ✭ 25 (+66.67%)
Mutual labels:  ide
opendev
OpenDev is a non-profit project that tries to collect as many resources (assets) of free use for the development of video games and applications.
Stars: ✭ 34 (+126.67%)
Mutual labels:  ide
asn1scc.IDE
Qt Creator plugin for asn1scc - ASN.1/ACN compiler for embedded systems
Stars: ✭ 15 (+0%)
Mutual labels:  ide
benten
A language server for Common Workflow Language
Stars: ✭ 50 (+233.33%)
Mutual labels:  ide
frobtads
Linux and macOS development tools and text-mode interpreter for TADS adventure games.
Stars: ✭ 41 (+173.33%)
Mutual labels:  interactive-fiction
Moonshine-IDE
Moonshine is a free and open source middleweight IDE built with ActionScript 3 for ActionScript 3, Apache Flex®, Apache Royale™, and Feathers development, with Cloud and Desktop support.
Stars: ✭ 86 (+473.33%)
Mutual labels:  ide
php-rdkafka-stubs
Rdkafka extension stubs for your IDE. Always compatibile with the latest php-rdkafka version.
Stars: ✭ 125 (+733.33%)
Mutual labels:  ide
Ted2Go
Ted2Go IDE is a leading IDE for Monkey2 programming language. Written on Monkey2! Based on original Ted2.
Stars: ✭ 16 (+6.67%)
Mutual labels:  ide
GitHub-Web-IDE
⚡ Open GitHub repositories in online web IDE
Stars: ✭ 242 (+1513.33%)
Mutual labels:  ide
cloud9-launcher
Simple web ui for managing workspace of self-hosted Cloud9 IDE
Stars: ✭ 18 (+20%)
Mutual labels:  ide
graphiql-storm
🌪 A GraphQl Web IDE
Stars: ✭ 111 (+640%)
Mutual labels:  ide
Shipr-Community-Android
Shipr Social is the Multi Platform Chat Project for Developers
Stars: ✭ 21 (+40%)
Mutual labels:  ide
leathergoddesses
Leather Goddesses of Phobos, by Steve Meretzky (Infocom)
Stars: ✭ 63 (+320%)
Mutual labels:  interactive-fiction
terminal.land
A boundless world of interactive fiction
Stars: ✭ 37 (+146.67%)
Mutual labels:  interactive-fiction
openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (+366.67%)
Mutual labels:  ide

This is the client-side code for the Borogove IDE.

Tech stack

The main technologies used:

  • TypeScript programming language
  • React user interface library
  • MobX state management
  • SASS for writing CSS
  • Node (version 14 or higher) for build tools

Adding new features requires knowing or learning more or less all of the above, but for making modifications you might get by with general programming skills, depending on the task.

Additionally Storybook is used for building and testing UI components.

Setup

To set up the project locally you need Node.js and either npm or Yarn installed. Npm should be included in the Node.js installation.

  • Clone the repository locally (git clone (recommended) or download and unpack the source code)
  • npm install (or yarn install) in the project directory
  • Create a file called .env to the project root and use .env.example as a template for its contents
  • For Firebase integration (publishing games and the Snippets variant) add Firebase configuration to the src/services/firebase/firebase.config.ts file using the firebase.config.ts.example as a template. If you don't use Firebase, instead copy the contents of firebase.config.ts.empty to firebase.config.ts.

The .env file contains values that vary between development and production environments. If you create a file called .env.production its values are used in the production build.

After the initial setup, use npm start (or yarn start) to start the development server. It runs the app in the browser at localhost:3000. The snippets feature can be started with npm start:snippets.

Storybook

Storybook shows a list of UI components in the app. The Storybook service can be run with npm run storybook (or yarn storybook.) It opens in the browser the same way as the actual app at localhost:6006.

Storybook definitions for UI components are located in files with the same name as the component in the same directory, but with a .stories.tsx extension (MyComponent.stories.tsx for MyComponent.tsx component.)

Building and publishing

The npm run build (or yarn build or npm run build:snippets to build the snippets feature) command creates a complete web site in the build directory. This directory can then be copied as is to web hosting of your choice.

The build process is quite slow, so don't panic if it doesn't seem to do anything for a few minutes.

Deploying to Firebase hosting

The npm run deploy:prod and npm run deploy:dev commands (or yarn deploy:prod / yarn deploy:dev) build and deploy the project to Firebase hosting. If you'd like to deploy to your own Firebase project, edit the .firebaserc file and replace the project ids with your own project ids created in the Firebase console. The ids in the default .firebaserc file refer to the "official" borogove.app hosting, which naturally won't work without proper credentials.

The .firebaserc file contains two separate projects, one for development or testing releases, and the other for production releases. If you only have one Firebase project you can use the production variant (npm run deploy:prod) and ignore the development variant.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].