npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

spacecraft-backend-v2

v1.0.3

Published

Backend voor ruimtevoertuigbesturing

Readme

Spacecraft Control Panel

Dit is een webapplicatie die dient als een bedieningspaneel voor een ruimtevoertuig. Via deze interface kunnen gebruikers de status van het ruimtevoertuig zien, acties uitvoeren zoals het refuelen van het voertuig, het in- en uitschakelen van sensoren, en het instellen van de stroomstatus.

Features

  • Status van het ruimtevoertuig: Weergave van de huidige snelheid, brandstofniveaus, en stroomstatus.
  • Acties: Voer acties uit zoals het refuelen van het voertuig, het in- en uitschakelen van sensoren, en het wijzigen van de stroomstatus.
  • Real-time updates: De status van het ruimtevoertuig wordt automatisch bijgewerkt na elke actie.

Technologieën

  • Frontend: HTML, CSS, JavaScript (met moderne ES-modules)
  • Backend: Node.js, Express.js
  • Database: In-memory (voor de status van het ruimtevoertuig)
  • Pakketbeheer: npm voor afhankelijkheden
  • Middleware: body-parser voor het verwerken van JSON- en URL-encoded verzoeken.

Installatie

Stappen om het project lokaal in te stellen:

  1. Clone het repository:

    git clone https://github.com/jouw-gebruikersnaam/spacecraft-control-panel.git
    cd spacecraft-control-panel
  2. Installeer de afhankelijkheden:

    Zorg ervoor dat je Node.js en npm geïnstalleerd hebt. Voer de volgende opdracht uit om de benodigde afhankelijkheden te installeren:

    npm install
  3. Start de applicatie:

    Start de server door het volgende commando uit te voeren:

    npm start
  4. Toegang krijgen tot de applicatie:

    Nadat de server is gestart, kun je de applicatie openen in je webbrowser door naar http://localhost:3000 te gaan.

Bestandenstructuur

spacecraft-control-panel/
├── public/                   # Alle statische bestanden (HTML, CSS, JS)
│   ├── index.html            # De hoofdpagina van de webapp
│   ├── styles/               # Bevat CSS-bestanden
│   └── scripts/              # Bevat JavaScript-bestanden
│       ├── scripts.js        # JavaScript-logica voor het bedieningspaneel
│       └── index.js          # Eventueel extra logica voor de frontend
├── spacecraft-utils/         # Extra functies voor de simulatie van het ruimtevoertuig
│   └── index.js              # Functies voor sensorwaarden en materiaal simulatie
├── app.js                    # Backend Express.js server configuratie
├── package.json              # npm configuratiebestand
└── README.md                 # Dit bestand

Gebruik

Status van het ruimtevoertuig

Op de hoofdpagina van de webapplicatie wordt de huidige status van het ruimtevoertuig weergegeven. Dit omvat:

  • Snelheid: De huidige snelheid van het ruimtevoertuig.
  • Brandstof: Het huidige brandstofniveau van het voertuig.
  • Stroom: De huidige status van de stroom (ON of OFF).

Acties

Via de interface kunnen de volgende acties worden uitgevoerd:

  1. Refuel: Voeg brandstof toe aan het ruimtevoertuig door een waarde in te voeren in het invoerveld en op de "Refuel" knop te klikken.
  2. Set Power: Zet de stroom van het voertuig aan of uit door een keuze te maken uit een dropdown en de knop "Set Power" in te schakelen.
  3. Schakel sensor in/uit: Schakel sensoren in of uit door een keuze te maken uit de beschikbare sensoren.
  4. Bewegingsacties: Beweeg het voertuig vooruit of achteruit, of zet het voertuig in slaapstand.
  5. Draaien: Zet het voertuig in een draaibeweging.

Elke actie stuurt een verzoek naar de backend die de status bijwerkt en een bericht retourneert dat aangeeft of de actie succesvol is uitgevoerd.

Backend Logica

De backend is een Express.js-server die luistert op poort 3000. De status van het ruimtevoertuig wordt in geheugen opgeslagen en kan worden opgevraagd via de route /status. Acties worden uitgevoerd via de route /action, waar de actie en bijbehorende details (zoals sensornaam of brandstofhoeveelheid) naar de server worden gestuurd.

Middleware

De applicatie maakt gebruik van de body-parser middleware voor het verwerken van JSON- en URL-gecodeerde verzoeken.

Toekomstige Verbeteringen

  • Persistente opslag: In plaats van de status in geheugen op te slaan, kan een database worden toegevoegd om de status van het ruimtevoertuig persistent te bewaren.
  • Gebruikersauthenticatie: Voeg een systeem voor gebruikersauthenticatie toe om toegang te verlenen tot de bedieningselementen van het ruimtevoertuig.
  • Uitgebreide simulatie: Voeg meer geavanceerde simulaties toe, zoals het weer of interacties met andere ruimteobjecten.

Licentie

Dit project is gelicenseerd onder de MIT-licentie - zie het LICENSE bestand voor meer informatie.