/nopalm

Manage your node project from user interface

Primary LanguageTypeScriptMIT LicenseMIT

Manage your node projects from user interface

RATIONALE

  • Node Project Manager sounded very close to Nopalm(also sounding similar to Napalm :)). Hence the name!
  • I always faced difficulties in searching a relevant package while working on a node project and heavily craved for an UI since coming back and forth between browser and terminal killed productivity
  • To solve this, I thought of developing Nopalm (Node Project Manager) with an exciting web user interface to search, install and uninstall packages from a single place
  • You can also scaffold a new node project
  • This project is heavily inspired from Vue-UI

This project was bootstrapped with Create React App

USAGE

  • Install the npm package globally and run the local server inside any node project directory / empty directory
     npm i -g nopalm
     cd /path/to/target_dir && nopalm
  • Visit http://localhost:8001 to start managing your node project

To run locally

Pre installed requirements

  • node > 10
  • npm or yarn

Steps

  • Clone the repository
  • Install packages in client and server
    npm i
    
    cd client/
    npm i

To run the development version

  • Add this .env file in the /client folder
    echo "REACT_APP_API_BASE_URL='http://localhost:8001'" >> .env.development.local`
  • Run the react client
    cd client
    npm run start
  • Run the server in an existing node project
    cd /path/to/target_node_project
    npm run dev --prefix /path/to/nopalm
  • Visit https://localhost:3000 To run the production version
  • Build the UI and run the server alone
    cd client/
    
    <!-- Build the React client -->
    npm run build
    
    <!-- cd to target node project -->
    cd /path/to/target_node_project
    
    npm run start --prefix /path/to/nopalm
  • Visit https://localhost:8001
  • Follow the same steps for testing in empty directory

Testing APIs

Once you run the node server you might find this interesting to test it using Postman