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

@k-platform/core

v0.9.93

Published

Framework for the rapid development of modern applications

Downloads

1,063

Readme

Embedded platform's modules

  • Explorer: analyzes the database schema and dynamically updates the admin-panel UI for CRUD operations, paginated displaying of entity data with their relationships etc., providing flexibility and extensibility with TypeORM integration.
  • XML data-bridge: automates the data management process, simplifying the tasks of importing and exporting data. Uses specific XML-markup to transfer the state of the database or pinpoint transfer of certain records in tables between different servers.
  • Background processes: module for management of background tasks, providing features like automatic startup, dynamic control, and comprehensive logging. Enabling efficient and reliable handling of recurring tasks through advanced cron-job scheduling and inter-module communication.
  • Media: provides powerful capabilities for working with various types of media files. It supports uploading, thumbnail slicing, automatic creation of optimized copies, as well as storing copies in modern formats such as WEBP. It is able to work with vector images. Stores metadata of files, including extend metadata such as GPS, ICC, EXIF etc.
  • Files: provides easy integration and powerful file management, including uploading, storing in public and private directories. Support storing extended metadata for images, audio and video files.
  • Users: provide scalable functionality for managing system users. Supports password encrypting, user profile management with role-based access control.
  • Authorization: provides a OAuth 2.0 mechanism for authentication and authorization of users in the system, as well as protection against brute-force attacks.
  • CAPTCHA: represents two built-in CAPTCHA-types: Google reCAPTCHA and standard graphical CAPTCHA. You can also extend the module with your own CAPTCHA implementation.
  • Configuration: allows you to effectively manage the application settings using .properties files, supports real-time dynamic configuration change and type safety through automatic generation of TypeScript files. Also supports local and global overrides, which allow you to flexibly adapt the configuration for different environments.

Admin-panel of application is based on Angular, please read more details about here.

Documentation

Please navigate to guides folder for read detailed documentations of application and also visit codebase documentations website

Fast start

Before installing the platform, make sure that you have Node.js, Redis installed and one of the supported DBMS.

Now let's set up the configuration.

The connection settings to Redis are stored in the default.env, that file located in the root directory, use the properties REDIS_HOST, REDIS_PORT, REDIS_DB, REDIS_USER, REDIS_PASSWORD. You can change it or create a local.env file to override some properties on your local machine.

Next, go to the ./examples/web-server directory, here you will find the db.properties file. Inside that, you will find the DBMS connection settings, you can change it or create a local.properties file to override some properties on your local machine (the names of all properties in the file match the TypeORM data source options).

Now that all the preinstallation recommendations are done, you can install the platform.

  • Run npm i command for install all dependencies
  • Run npm run init:web-app for generate configuration files, build sources and fill cache DB, and import default state of DB from default XML-configuration
  • Run npm run start:web-app for start example web-application server

Now you can proceed to the installation of the client application, which is an admin panel for system management. To do this, visit the repository @k-platform/client.

Recommendation: use Postgres or MySQL as a DBMS, and in the future you can replace Radius with the desired to if necessary by writing your own custom interaction service.

Note: all modules has been tested only with Postgres and MySQL database systems.

Based on