Create a new Salt Design System app quickly and easily.
To create a new Salt app, run:
npx salt-app-kickstart@latest
- Youβll be prompted for a few details, such as the project name and template choice.
- The tool will automatically create the project structure tailored to your specifications.
- It will install all necessary dependencies for a smooth development experience.
- Finally, your app will launch on
localhost
, allowing you to start coding immediately!
- Automatic Setup: Save time with pre-configured Salt Design System templates.
- Flexible Templates: Includes popular templates like AGGrid and Dashboard.
- Local Development: Automatically launches the app on
localhost
for immediate use. - GitHub Integration: Easily push your app to a GitHub repository.
salt-app-kickstart/
βββ templates/ # Various project templates
βββ utilities # Files to be ignored by Git
βββ check_install.js # Script to verify installation prerequisites
βββ copy_templates.js # Utility for copying templates
βββ exec_childprocess.js # Handles child processes
βββ install_dependencies.js # Manages package installations
βββ push_to_github.js # Pushes project to GitHub
βββ run_in_localhost.js # Launches app locally
βββ copy_appheader.js # copies navbar to generated app
βββdocumentation
βββCODE_OF_CONDUCT.md # Contributor code of conduct
βββ CONTRIBUTING.md # Contribution guidelines
βββ KNOWN_ISSUES_AND_TASKS.md # Document listing known issues
βββ LICENSE # License details
βββpublic
βββindex.html # File to be copied to generated salt-app
βββsrc
βββindex.js # File to be copied to generated salt-app
βββ cli.js # Main entry point for the CLI tool
βββ package.json # Project metadata and dependencies
βββ package-lock.json # Dependency lock file
βββ readme.md # Project documentation
βββ video-thumbnail.gif # Thumbnail for demo video
βββ .gitignore # contains files to ignore
my-app/ # Your newly created app
βββ public/ # Static files for your app
β βββ index.html # Main HTML file to be served (copied from the current structure)
βββ src/ # Source code of your app
β βββ templates/ # Various app templates
β βββ App.css # Main styles
β βββ App.js # Main application logic
β βββ App.test.js # Test cases for the main app
β βββ index.css # Styles for the index
β βββ index.js # Main entry point for the app (copied from the current structure)
β βββ logo.svg # Logo for the app
β βββ reportWebVitals.js # Performance reporting
β βββ setupTests.js # Setup for testing
βββ package-lock.json # Dependency lock file
βββ package.json # Project metadata and dependencies
βββ README.md # Project documentation
- Starting Point:
The entry point of the application is
cli.js
, which contains command's abstract logic to initiate the setup process. Fromcli.js
, different functions are called to execute various utility scripts, leading to the generation of the project structure. Key files, such asindex.js
andindex.html
, are copied from the current project structure to the newly created app, ensuring that users have a solid foundation to start their development.
+-----------------------------------+
| Salt App Kickstart |
+-----------------------------------+
|
|
v
+-----------------------------------+
| cli.js |
+-----------------------------------+
| main entry point |
|(contains command's abstract logic)|
+-----------------------------------+
|
| Calls
v
+-----------------------------------+
| Various Utility Scripts |
+-----------------------------------+
| check_install.js |
| copy_templates.js |
| exec_childprocess.js |
| install_dependencies.js |
| push_to_github.js |
| copy_appheader.js |
| run_in_localhost.js |
+-----------------------------------+
|
v
+-----------------------------------+
| index.js | <--- Copied to the generated structure
+-----------------------------------+
| main application logic |
+-----------------------------------+
|
v
+-----------------------------------+
| index.html | <--- Copied to the generated structure
+-----------------------------------+
| main HTML file |
+-----------------------------------+
|
v
+-----------------------------------+
| Project Metadata |
+------------------------------------+
| package.json |
| package-lock.json |
+------------------------------------+
|
v
+-------------------------------------------------+
| Project Documentation |
+-------------------------------------------------+
| README.md |
| documentation/LICENSE |
| documentation/CONTRIBUTING.md |
| documentation/CODE_OF_CONDUCT.md |
| documentation/KNOWN_ISSUES_AND_TASKS.md |
| .gitignore |
+-------------------------------------------------+
- π¦ Pre-installed Salt Dependencies: Save time with built-in support for Salt Design System components.
- π AGGrid and Dashboard Templates: Jumpstart your projects with ready-made grids and dashboards.
- π± Local Dev Environment: The app automatically launches on
localhost
so you can start coding right away. - π GitHub Integration: Quickly push your project to a GitHub repository with built-in commands.
-
Install dependencies:
npm install
-
Run the app:
npm start
You can access your application by visiting http://localhost:3000 in your web browser. This will display your newly created app, allowing you to interact with it immediately.
-
Build for production:
npm run build
This creates an optimized, production-ready build of your app inside the build/
folder.
-
Deploy your app to hosting services like GitHub Pages, Netlify, or Vercel. Each platform provides simple guides for deploying your app:
- GitHub Pages: Push your build folder to a GitHub repository and enable GitHub Pages in the settings.
- Netlify: Drag and drop your
build/
folder to the Netlify dashboard for instant deployment. - Vercel: Connect your GitHub repository and follow the prompts to deploy.
The Salt Design System is pre-installed, offering reusable components and consistent UI elements for rapid development. With pre-styled components, you can focus on your app's logic and functionality while maintaining a cohesive design throughout your project.
We welcome contributions! If youβd like to help improve this project, please check out our Contributing Guide for details on how to get involved.
This project is licensed under the MIT License. For more details, check the LICENSE file in this repository.
If you have any questions or suggestions, feel free to reach out. Weβre here to help you build awesome apps with Salt!
Made with β€οΈ by Duddekunta Devamani.