The purpose of this repository is for forking and being used with StackBlend platform. The forked repository will be your assets under the MIT license, while the editor is under the BSD 4-Clause license. (read more on terms of service, section 2: Use License).
Please go to https://www.stackblend.org to get started. Please note that a dedicated GitHub account for StackBlend is recommended while it is underdevelopment.
You might clone the repository and run it in your local machine for advanced debugging. We recommend to do it, because you can reverse changes or merge conflicts, can change a part of code and see what will be happening, can lint and fix code bugs before deploying, and can install new modules via npm package managing.
- Signup and Login to GitHub.
- Create a project and name it.
- Open a terminal, run "git clone [email protected]:SoftenStorm/boilerplate.git".
- Run "mv boilerplate YOUR_PROJECT_NAME".
- Run "cd YOUR_PROJECT_NAME".
- Run "git remote rename origin boilerplate".
- Run "git remote add origin [email protected]:YOUR_ALIAS/YOUR_PROJECT_NAME.git".
- Run "git checkout 1.21".
- Run "git checkout -b staging".
- Run "git push --set-upstream origin staging --force".
- Run "git checkout -b develop".
- Run "git push --set-upstream origin develop --force".
- Run "git checkout -b feature/YOUR_NEW_FEATURE_NAME".
- Run "git push --set-upstream origin feature/YOUR_NEW_FEATURE_NAME --force".
- Run "npm install".
- Run "mv dev.env .env" and config the file.
- Connecting the repository with StackBlend Studio (see the instruction below).
- Within StackBlend Studio, click save button to push changes to feature/YOUR_NEW_FEATURE_NAME" including new auto-generated files.
- From the terminal, run "git reset --hard & git pull".
- Run "npm run build".
- Run "npm run watch".
Required parameters in the environment file:
- POSTGRESQL_URL=
- RELATIONAL_DATABASE_KEY=POSTGRESQL_URL
- MONGODB_URI=
- DOCUMENT_DATABASE_KEY=MONGODB_URI
- REDIS_URI=
- PRIORITIZED_WORKER_KEY=REDIS_URI
- VOLATILE_MEMORY_KEY=REDIS_URI
- SESSION_SECRET=
Heroku is a cloud platform as a service (PaaS) supporting several programming languages, including Node.js, that you may use a free of Heroku dynos for web and worker to run your project. They also provides a free Heroku Postgres and a free Heroku Redis, too. Moreover, on MongoDB.com, they also provides the database service for free. And to reduce traffics to the dynos, please serving cache through a CDN instead by using a free CDN from Cloudflare to achieve it. They will ask you to enter your credit card, but with all of these with the right data-flow optimization techniques, you can serve the high amount of traffics without any costs.
Heroku: https://www.heroku.com MongoDB: https://www.mongodb.com Cloudflare: https://www.cloudflare.com
Please generate a random string of SESSION_SECRET using:
- Run "npm install -g generate-secret".
- Enter ".env".
- Enter "SESSION_SECRET".
Finally, openning the preview URL in your browser by using: https://localhost.stackblend.org.
This repository has been designed to be working on Heroku. You may following with these instruction to get your project works on the platform.
- Signup and Login on Heroku.com.
- Create a new pipeline and connect the pipeline to the GitHub account.
- On the pipeline page, add an app for staging environment.
- On the app's resource page, create a new add-on "Heroku Postgres", and wait until it's running.
- On the app's settings page, config a new variable named "POSTGRESQL_URL", and also point "RELATIONAL_DATABASE_KEY" to it using the name.
- On the app's resource page, create a new add-on "Heroku Redis".
- On the app's settings page, config a new variable named "REDIS_URI", and also point "PRIORITIZED_WORKER_KEY" and "VOLATILE_MEMORY_KEY" to it using the name.
- Signup and Login on MongoDB.com.
- Create a new database on MongoDB.
- On the app's settings page, config a new variable named "MONGODB_URI", and also point "DOCUMENT_DATABASE_KEY" to it using the name.
- Add a config variable "SESSION_SECRET" and assign the random string.
- Add a config variable "NODE_ENV" and assign "staging".
- Configure an automatic deploy or deploy a staging branch.
Openning https://YOUR_APP_NAME.herokuapp.com in your browser to see the results.
This boilerplate is designed for incremental update for any underlying supports of new features in StackBlend Studio. After StackBlend has released a new version, you must merge the new changes into your project, to make it works on StackBlend.org. Please note that for all of the old versions, you must perform "git cherry-pick COMMIT_ID" for all of hotfixes, beginning with a prefix "Hotfix:" in the message, that may apply to your current using version.
- Run "git stash".
- Run "git fetch boilerplate 1.21".
- Run "git merge 1.21 --allow-unrelated-histories".
- Run "git stash apply".
To list all of hotfixes:
- Run "git checkout 1.21".
- Run "git pull".
- Run "git log --oneline | grep Hotfix".
- For each of hotfix, run "git cherry-pick COMMIT_ID".
Whatever you are a full-stack engineer or not, StackBlend will helps you cope with front-end, back-end, UI/UX, and content in a single one editor. You may design the user interface right from the editor, configure their properties and data dot notations, link them to fully customizable server-side scripts, and get the results back on the client-side using less than 10 lines of code, where the rests are auto-generated by the editor.
To get started:
- Signup and Login to StackBlend at https://www.stackblend.org/account/authenticate.
- Go to Settings at https://www.stackblend.org/account/settings.
- Connect to a newly created GitHub account (dedicatedly for StackBlend platform).
- From Organization Or User Alias, enter "YOUR_ALIAS".
- From Project Name, enter "YOUR_GITHUB_PROJECT_NAME".
- From Feature Branch, enter "feature/YOUR_NEW_FEATURE_NAME".
- From Develop Branch, enter "develop".
- From Staging Branch, enter "staging".
- From Endpoint, enter "https://localhost.stackblend.org".
Because we often release regular updates on stackblend.org, which right now is version 1.21. If you preferred one that you were working with, please run the editor cloned from the releases of full-stack-blend instead. Where you may find out the current version that you are using from README.md file.
You might also reset the project files by cloning a boilerplate from the releases with the same version as the editor. Copy only project.stackblend file from your old project to the new one, open it using the editor and navigate to each of pages, components, and popups.
For any questions, please send an email to [email protected].