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

caldero-nest-library

v1.5.5

Published

<space></space> <h1 align="center"> Creation of a standardized development library for Node.Js based web applications </h1> <p align="center">This repository relates to research question 4: How does an open source library for developing web applications

Downloads

16

Readme

Table of contents

  1. About the library
  2. Requirements
  3. Getting started
  4. Using the features
  5. Demo App
  6. License

About the library

It's mainly inspired by the PHP Framework Laravel and closes the functional gap bewteen best-practice frameworks like Laravel and the Node.Js web framework NestJs. In reserach question 1, the most important features of these best-practice frameworks were identified and analyzed. After that, the most popular Node.Js frameworks were analyzed in research question 2. Out of the analyzed frameworks, NestJs has the highest coverage of features and also has the biggest community. Because of that, it was chosen as the foundation of this library.

Goal

The goal of this library is to help developers build NestJs web applications faster and more efficiently by providing the missing features out-of-the-box and combining existing community solutions. This means that it provides services and endpoints to access those features, making it possible to integrate and use them in new NestJs projects, without having to implement all the logic of those features by oneself. It also generates a lot of useful files, like for example an user entity and decorator, mail templates and a database config file.

  • Auth System using JWT
  • i18n
  • Notifications
  • Sending Mails
  • Full-Text Search using Algolia
  • Payments (Stripe)
  • Chat
  • Helpers for Strings, Arrays and Dates
  • Seeder

How you can set up and use each feature is explained in the links above.

Requirements

Node.Js and npm

To be able to use the library, Node.Js and npm need to be installed on your computer. Install npm with the following command:

npm install -g npm

The best way of installing Node.js is to use a node version manager. A guide for doing so can be found here. To check whether you already have Node.Js and npm installed, run the following commands:

node -v
npm -v

Database

A (test) database is neccessary to test the features of the library. You can use XAMPP to setup a test database.

  1. Download and install XAMPP
  2. Run the XAMPP Control Panel
  3. Start the Apache and MySQL Server.
  4. You can access the user interface on 'localhost/phpmyadmin'

The connection details are handled in the typeormconfig.ts file, which will be located in the src folder of your NestJs project.

Getting started

# First, install the nestjs cli
npm i -g @nestjs/[email protected] 

# and then, create a new nest project.
nest new project-name

# enter the root folder of the project
cd project-name

# install the library there
npm i caldero-nest-library
npm install

# After everything is installed, this command generates the necessary files for scaffolding your app
caldero-file-generate

# IMPORTANT: If the command wasn't found, install the library globally and execute the above command again.
npm i caldero-nest-library -g

# start the project 
nest start

Rename the generated .env-example file to .env

Using the features

After completing the Getting started section, you can already start using the seeder by executing the following command. This will create ten new users in your database.

npm run seed

Also, you can start to import and use all the other features. How that works for each specific feature is explained in the links of the Features section.

Demo App

To make a proof of concept, we developed a demo app. If you want to start and test the app, start both the frontend and backend projects. How you start them is explained in the README of each project.

| Project | Description | | :------------- |:-------------| |StubyProjects/library-demo-backend| Task manager app, which includes the core features of the library | |StubyProjects/library-demo-frontend| Demo Frontend for the App (created by Ariel Weinberger) |

To have access to the repositories use the following github account:

username: bachelortester
password: Bachelor2021Zugriff123!

web.de
email: [email protected]
password: Bachelor2021Zugriff123!

stripe
email: [email protected]
password: Bachelor2021Zugriff123!

License

MIT