Giter VIP home page Giter VIP logo

ssme's Introduction

Welcome to SSME Project

General

This repository represents a my pet-project. It's a desktop application that is responsible for launching Nodejs applications whether or not its frontend or backend

The name of the project was chosen for a reason: SSME or RS-25 is the name of the main engine of the space shuttle.

This is a helper for launching our nodejs applications.

At first glance it may seem that this is another forever or pm2, the feature of this project in all-in-box solution including desktop application, and in the future tui.

The inspiration for writing this app was docker-desktop, so I try to use the same ui/ux

About

The stack used is

  • Sqlite3 for storing running projects.

  • Golang as backend part

  • Flutter for application

  • gRpc for transport (configuration file is attached in the config directory).

  • desktop app (now supports only darwin platform)

gRpc api file itself is located in the api directory, you can check out all the methods the api provides.

To add a project, the CreateNode method is used, it adds the path and project name to the database, parses the package.json file and adds the "scripts" field to the database table.

After that to run the application through the gRpc RunNode call.

RunNode in turn runs the nvm run npm{script} go routine (the .nvmrc of the project is parsed) after the process is stopped, the nodes are also stopped

Requirements

  1. App use sqlite3 db so it should be installed on host

  2. Also fnm

Make commands

make run

make create_db

make generate

DB structure

id name cmds node_version default_script
int varchar json_array varchar varchar

TODO!

  1. Add nvm support (with checking .nvmrc file) :nvm has strange behavior so i'm move to the fnm

  2. add runner from fnm like fnm exec --using=20 npm run --prefix {path} {dev}

  3. add checking installed nvm or not

  4. add build and install script (include desktop app)

  5. add npm login

  6. add npm private repository check

  7. add checking node_modules folder and add script to run npm install

ssme's People

Stargazers

 avatar  avatar

Watchers

Anna Karenina avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.