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 🙏

© 2024 – Pkg Stats / Ryan Hefner

residents

v0.0.2

Published

Residents is a Node.js Express back-end foundation designed for bootstrapping new projects quickly and efficiently. Its main goal is to set up a robust infrastructure for user management, because users are the core of any application. These users are your

Downloads

7

Readme

GitHub Actions Workflow Status Last Commit License Version

Residents

Residents is a Node.js Express back-end foundation designed for bootstrapping new projects quickly and efficiently. Its main goal is to set up a robust infrastructure for user management, because users are the core of any application. These users are your Residents. It leverages a robust stack including Postgres, Drizzle ORM, JWT, PassportJS, Docker and Swagger to streamline development and deployment processes.

Features

  • Node.js and Express for building a scalable server-side application.
  • Postgres for a powerful, open-source relational database.
  • Drizzle ORM for a type-safe and performant data layer.
  • JWT and PassportJS for secure authentication and authorization.
  • Docker for containerized development and deployment.
  • Swagger for API documentation.

Getting Started

To get started with Residents, follow these steps:

  1. Clone the repository:
git clone https://github.com/conorluddy/Residents.git
cd Residents
  1. Install dependencies:
npm install
  1. Set up environment variables:

Create a .env file in the root of your project and configure the necessary environment variables. You can run cp .env.example .env for a shortcut. You'll want to update some of them with your own API keys where applicable. Most of the example values will be fine for local development.

  1. Set up the Postgres Database:

You can point this at any Postgres instance you like, or you can run docker-compose up -d to set up a Docker instance which will run both the database and the Express app. However it will expose the Express app at port 8080 so that you can still run your development version locally at 3000 etc.

  1. Push the schema to the DB on first run:

drizzle-kit push is a handy one for local development but it will likely nuke your data. See here and here.

  1. Build your JS bundle from the TS source:
npm run build
  1. Run the application:
npm start

Configuration

Residents uses environment variables for configuration. You'll find an example in the .env.example file.

Scripts

  • npm start - Start the server
  • npm run build - Build the app
  • npm test - Test (not implemented yet)
  • npm run dev - Local development
  • npm run push - Pushes updates to DB (See Drizzle docs, handy for dev)
  • npm run introspect - Runs drizzle-kit introspect
  • npm run studio - Runs drizzle-kit studio
  • npm run dockerup - Or maybe just run docker-compose up -d instead

Contributing

This is just a pet project at the moment but feel free to fork it and run with it if it's of any value to you.