GithubHelp home page GithubHelp logo

dashpresshq / dashpress Goto Github PK

View Code? Open in Web Editor NEW
1.3K 17.0 75.0 68.95 MB

Generate powerful admin apps without writing a single line of code - Run `npx dashpress` to see some magic!

Home Page: http://demo.dashpress.io

License: GNU Affero General Public License v3.0

Shell 0.02% JavaScript 0.40% TypeScript 99.55% CSS 0.02%
admin admin-ui admin-dashboard admin-panel crud-generator internal-applications internal-tools low-code no-code nocode lowcode nodejs react typescript

dashpress's Introduction

Project license Pull Requests welcome

Maintainability Test Coverage GitHub CI

Table of Contents

About

DashPress generates powerful admin apps from your database information

  • With just one command
  • Under 30 seconds
  • No tutorial
  • No learning curve
  • No drag and drop
  • No technical skills required
  • Zero maintenance

What you get is a fully functional admin app that is ready to be deployed.

DashPress will help you focus your engineering resources on building exciting features and not building and maintaining boring and repetitive CRUD apps.

Demo

https://demo.dashpress.io is an example admin app generated with DashPress without writing any line of code.

Features Walkthrough Video

Click on the image below to see a walkthrough of the many features DashPress provides.

Watch the video

Motivation

Most internal tool applications make you build from the ground up i.e you get a blank canvas, drag and drop components, and wire them together with SQL and Javascript/Python to satisfy your business requirement. This I believe has many problems.

  • They require some technical knowledge.
  • They require some learning curve.
  • They require time to build.
  • You duplicate a lot of business logic already in your database.
  • You to maintain them.

DashPress attempts internal tool generation with a new approach by introspecting your database and building a multi-page application based on all the info it can find like your field types, relationships, constraints etc. You literally can have your admin app done in seconds without any tutorial or coding.

Why you should try DashPress

  • It is free
  • Easiest installation, Just one command to install and run
  • You will always be running the latest version
  • The little learning curve with truly less than 5% technical knowledge requirement
  • Tons of features
  • Language/framework agnostic
  • Lastly, It is open source.

Getting Started

Prerequisites

  • Node.js
  • Supported database (MySQL, Postgres, MsSQL, SQLite)

Installation

$ cd <project_name>

$ npx dashpress

That is all, You will be able to see the application on http://localhost:3000.

If you prefer to use Docker, Check the Dockerfile.example file in the root folder of the repo.

Features

  • Unlimited Users
  • Unlimited Roles
  • One Command Installation
  • Actions Integrations
  • Dashboard Builder
  • CRUD
  • Self Hosted
  • Form Validations
  • Form Logic
  • Breadcrumbs
  • Rich Text Editor
  • Tab Views
  • DB Introspection
  • Fields Customisation
  • Secure Authentication
  • Synced DB Validations
  • Secure Credentials Storage
  • Light And Dark Mode
  • Intelligent Filters
  • Brand Colors
  • Intelligent Data Relationships
  • Menu Builder
  • Themes
  • Personalized Table
  • Bookmarks
  • 2FA
  • Multiple Dashboards
  • Data Export
  • Charts
  • Bulk Actions
  • Fine-Grained Crud Permissions
  • Change History
  • Sensitive Fields

Roadmap

See the open issues for a list of proposed features (and known issues).

Support

Join the community at one of the following places:

Project assistance

If you want to say thank you or/and support the active development of DashPress:

  • Add a GitHub Star to the project.
  • Tweet about DashPress.
  • Write interesting articles about DashPress on Dev.to, Medium or your blog.

Together, we can make DashPress better!

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Security

DashPress takes security at heart and follows all known good practices of security, but 100% security cannot be assured. DashPress is provided "as is" without any warranty.

For more information and to report security issues, please refer to our security documentation.

License

This project is licensed under the GNU Affero General Public License v3.0.

See LICENSE for more information.

dashpress's People

Contributors

ktbch avatar kyuubitila avatar leewei0923 avatar lhdi avatar sam1330 avatar snyk-bot avatar thrownullexception avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dashpress's Issues

feat: Show Disabled CRUD elements from the Settings Tab

Feature Request

Describe Preferred Solution
When on the CRUD settings tab, You to click on a new tab to know if it is disabled or not
We will like the tabs themselves to show if they are disabled or not without having to click on them to check
Adding a class disabled will be a good idea. The class will just make the text a bit greyed out

Related Code

  • Open any entity table
  • Click on the Table Settings on the top right corner
    The feature request is to make the tables indicate if they are enabled or not

Additional Context
Screenshot from 2022-09-26 12-05-14

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Allow the name of the app to be customized

Feature Request

Describe the Feature Request
When setting up Hadmean for a client, You will probably want the name of the app everywhere instead of Hadmean
This feature request is to allow the app name to the customizable in the settings view

Describe Preferred Solution
You can take inspiration from how the app theme colors is configured as you will basically be doing the same thing

Related Code
App theme implementation

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Ability to upload files via a form

Feature Request

Ability to upload files via a form

Most of the times admins will have to view and upload some files. Eg: images/documents
Therefore it would be great if Hadmean can have a direct support to it.

bug: Can't start the project

Bug Report

Hadmean version: latest on npm? and master on git

Current behavior:

I tried to run: npx hadmean But it seems to fail silently, and my folder is empty. Log below:

$ npx hadmean
Need to install the following packages:
  [email protected]
Ok to proceed? (y) y
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN ERESOLVE overriding peer dependency
npm WARN deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs

So instead of that, I tried to clone the repo to run it locally that way. But npm i fails.

$ npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR!   react@"18.1.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0 || ^17.0.0" from [email protected]
npm ERR! node_modules/react-final-form-arrays
npm ERR!   react-final-form-arrays@"^3.1.3" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\Sonny\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Sonny\AppData\Local\npm-cache\_logs\2022-12-01T08_53_57_626Z-debug-0.log

Expected behavior:

Hadmean starts

Steps to reproduce:

npx hadmean

or

git clone https://github.com/hadmean/hadmean
cd hadmean
npm i

Other information:

I run on Windows with node 16 and npm 8.

feat: Dashboard Builder

Feature Request

Currently the dashboard only supports total entities count, This request is to allow custom count of entites

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Extending User Entity

Hadmean is great but if the "User" entity can be made dynamic in such a way that additional fields can be added to expand on what the "user" can do. For instance, I would like to add a field like a phone number but I don't necessarily want that field in the database provided by me, but stored within Hadmean and can be user for other operations like before and after form submission.

feat: Show the count of data in the table tabs

Feature Request

Describe the Feature Request
We want to display the count of data for each table tab
i.e we want to go from

Screenshot from 2022-09-28 00-28-15

to

Screenshot from 2022-09-28 00-26-11

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Custom actions button

Feature Request

Describe the Feature Request
Edit and Create wont cut it form most cases, We need to have custom actions on the app

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

bug: npm run verify has error

Bug Report

DashPress version: 1.04

os: Windows 11
node version: Node.js v18.19.0

Current behavior:
git push --set-upstream origin feat/multi-language

I encountered a path error while committing and running the commit code. It introduced an incorrect path. However, I have resolved the issue. When running the test command, it prompts 'NODE_OPTIONS' is not recognized as an internal or external command, operable program or batch file.

Solutions:

image image

Expected behavior:

Steps to reproduce:

Related code:

[email protected] verify
> node ./scripts/ci && npm run typecheck && npm run lint && npm run test:cov

node:internal/fs/utils:351
    throw err;
    ^

Error: ENOENT: no such file or directory, scandir 'E:\myProject\dashpress\E:\myProject\dashpress\src\frontend\components'
    at Object.readdirSync (node:fs:1525:3)
    at listAllFilesInDir (E:\myProject\dashpress\scripts\ci\lib.js:8:25)
    at E:\myProject\dashpress\scripts\ci\lib.js:16:7
    at Array.forEach (<anonymous>)
    at listAllFilesInDir (E:\myProject\dashpress\scripts\ci\lib.js:10:14)
    at Object.<anonymous> (E:\myProject\dashpress\scripts\ci\check-file-segments.js:8:8)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32)
    at Module._load (node:internal/modules/cjs/loader:1013:12) {
  errno: -4058,
  syscall: 'scandir',
  code: 'ENOENT',
  path: 'E:\\myProject\\dashpress\\E:\\myProject\\dashpress\\src\\frontend\\components'
}

Other information:

feat: Action integrations

Feature Request

We currently have HTTP Actions, we need to support other actions like Mail, Slack, Zapier etc

Describe the Feature Request

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

bug: Application error: a client-side exception has occurred

Bug Report

DashPress version:
1.0.4

Current behavior:
I installed dashpress on my local device, connected a database, and tried adding a new table widget to the main dashboard. I'm now unable to load the dashboard and I get the blank dark page with error Application error: a client-side exception has occurred, and followings in the browser console:

Firefox:
image

Chrome:
image
image

I tried removing the widget from dashboard-widgets.json, but issue still exists.

Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Other information:

bug: Unsupported engine

Bug Report

Hadmean version:
Latest

Current behavior:
I get the following error on running the npx hadmean command

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '=16', npm: '8' },
npm WARN EBADENGINE   current: { node: 'v19.4.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@hadmean/[email protected]',
npm WARN EBADENGINE   required: { node: '=16', npm: '8' },
npm WARN EBADENGINE   current: { node: 'v19.4.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@hadmean/[email protected]',
npm WARN EBADENGINE   required: { node: '=16', npm: '8' },
npm WARN EBADENGINE   current: { node: 'v19.4.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@hadmean/[email protected]',
npm WARN EBADENGINE   required: { node: '=16', npm: '=8' },
npm WARN EBADENGINE   current: { node: 'v19.4.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@azure/[email protected]',
npm WARN EBADENGINE   required: { node: '10 || 12 || 14 || 16 || 18' },
npm WARN EBADENGINE   current: { node: 'v19.4.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
npm WARN deprecated [email protected]: Please use @jridgewell/sourcemap-codec instead

Steps to reproduce:
Run npx hadmean

Does this mean that Node 19 is not supported and I should use Node 16?

bug:

After new clone i am facing below attached issue

Screenshot 2023-05-11 095418

feat: Data Source Adaptor

Feature Request

Describe the Feature Request
Currently Hadmean supports only relational DBs leaving NoSQL users left out, This feature is to implement and interface to easily add new data source

Describe Preferred Solution

Describe Alternatives
None

Related Code
None

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Bring in your color

Feature Request

Allow users bring in their own colors

Describe the Feature Request

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Disable update view after disabling details view

Feature Request

Describe Preferred Solution
There is no need to have a details view disabled and update view enabled as you can't edit what you can't see.
So, Currently you have to disable both the details view and update view if you don't want both

What is desired is that after disabling the details view the update view is also automatically disabled

A nice additons will be to enable the details view if disabled when the update view is enabled

Related Code
Steps to get to the view

  1. Open any entity table
  2. Click on the Table Settings on the top right corner
  3. The request is to make the Hide details button on the Details tab automatically hide the Hide edit button on the Update tab

Additional Context
Screenshot from 2022-09-26 12-05-14

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Tab Scope

Feature Request

Describe the Feature Request
We need users to be able to have scope for their data, So instead of just All orders, we can have users do things like Processed Orders, In Progress Orders, Cancelled Orders

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

feat: Highlight the selected button from sidebar

Feature Request

Describe the Feature Request

When a button is selected from the sidebar it is confusing to know which window you're on unless you watch the URL.
So I am requesting a feature to light the buttons whenever they got selected.

Describe Preferred Solution

A state should be present to hold the index for the selected button and highlight it.

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

  • Yes
  • No

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.