jackrobertscott / forge

🏹 Free and open source developer tool.

Home Page:https://useforge.co

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Forge

🏹 Free, unobtrusive, and modern tool for developers.

Links to download a version can be found on our website.

Forge

Search by Name Use ${1:Variables} Edit in Seconds
Forge Screenshot Forge Screenshot Forge Screenshot

Overview

Forge is a tool designed to aid πŸ₯ developers with basic development tasks such as creating and finding code snippets.

Problems with current tools

While designing Forge, we wanted to address the following difficulties faced when you only use a code editor while developing.

  1. πŸ€” Snippet shortcuts are hard to remember e.g. rccp or conc.
  2. 😧 Creating custom snippets is really hard (usually you need to create an entire JSON page).
  3. 😠 Settings don't save across your computers.
  4. 😩 You can't preview a snippet before you start using it.
  5. 😳 You can't search snippets by keywords.

Features of Forge

Forge was designed to overcome these issues by providing a developer tool which complements your code editor.

  1. πŸ”₯ Doesn't interrupt workflow; the app pops up above your editor and hides when you're done.
  2. 😻 Easier to use; search snippets by full name or shortcut.
  3. πŸ’ƒ Preview your snippets before using them.
  4. πŸ† Use ${1:variables} inside your snippets in the same way you use VS Code snippets.
  5. 🏎 Develop in-style with Forge's sleek and modern user interface.

Shortcut: press CmdOrCtrl+Shift+D to toggle the Forge app's visibility.

Technologies

The Forge repository is a testing ground for a new sort of application design architecture. We have made Forge open source so that you can preview how we use and built this application using the lastest in app development technologies.

Desktop

The desktop application is built with TypeScript and is using:

Server

The server is also built with TypeScript and is using:

  • Node.js: enables JavaScript to be run as a server.
  • Apollo GraphQL: creates a GraphQL interface for server data.
  • MongoDB: a NoSQL database which works well with Node.js.
  • mongoose: a schema validator used when working with MongoDB.

Architecture

There are very few good examples of good React application design and so we designed one. The front-end design system was the most challenging part. As such, we broke down the roles of the application into a specific modules.

  • Requests: concerned with saving and retrieving data from persistent data sources.
  • Logics: maps data from our requests to our graphical layouts.
  • Layouts: concerned with the structure and composition of the data and visual components.
  • Visuals: manages all the visuals on the page such as color, size, and spacing.

Authors

  • Jack Scott @jacrobsco - I tweet about coding and startups.

About

🏹 Free and open source developer tool.

https://useforge.co


Languages

Language:TypeScript 87.8%Language:JavaScript 8.0%Language:CSS 2.3%Language:HTML 2.0%