This is a Node.js starter kit.
The app running in Rio Terminal
An example request to the Index route in Resonance HTTP Client
An example request to the Health route in Resonance HTTP Client
To ensure the app is installed correctly and works properly, make sure you have:
Node.js: a runtime environment for running the botpnpm: a package manager for installing dependencies
Follow these steps to set up the app:
-
Clone the repository:
git clone https://github.com/madliani/nodify.git cd nodify -
Install dependencies:
pnpm install
-
Set up development mode and the app port:
Create a
.envfile in the root directory, and add the following lines:NODE_ENV="development-or-production" PORT=your-port -
Run tests:
pnpm test -
Build the app:
pnpm build:release
-
Start the app:
pnpm start:release
assets/: a directory containing assets for theREADME.mdfileassets/icons/: a directory containing icons for theREADME.mdfileassets/icons/nodejs.svg: theNode.jsicon
assets/images/: a directory containing images for theREADME.mdfile
src/: a directory containing source files of theNode.jsappsrc/app/: a directory containing the main component of the appsrc/app/tests/: a directory containing tests for the main component of the app
src/logger/: a directory containing source files of the loggersrc/router/: a directory containing source files of the routersrc/types/: a directory containing type declarations for the entry point of the appsrc/main.ts: a file containing the entry point of the app
types/: a directory containing type declarations for the configuration filestypes/vitest.ts: a file containing type declarations for theVitestconfiguration file
.env: an environment variables file (local).gitattributes: aGitattributes file.gitignore: aGitignore file.prettierignore: aPrettierignore file.tsbuildinfo: a file of theTypeScriptcompiler for storing incremental compilation information (local)AUTHORS.txt: anAUTHORSfileCHANGELOG.md: aCHANGELOG.mdfileCONTRIBUTING.md: aCONTRIBUTING.mdfilecspell.config.js: a JavaScript-basedcSpellconfiguration fileeslint.config.js: a JavaScript-basedESLintconfiguration fileLICENSE.txt: a license filepackage.json: apackage.jsonfilepnpm-lock.yaml: apnpmlockfilepnpm-workspace.yaml: apnpm-workspace.yamlfileprettier.config.js: a JavaScript-basedPrettierconfiguration fileREADME.md: aREADMEfiletsconfig.app.json: aTypeScriptconfiguration file for the apptsconfig.json: a baseTypeScriptconfiguration filetsconfig.json: a mainTypeScriptconfiguration filetsconfig.test.json: aTypeScriptconfiguration file for the teststsdown.config.js: a JavaScript-basedtsdownconfiguration filevitest.config.js: a JavaScript-basedVitestconfiguration file
stable: a stable branch for production buildsunstable: an unstable branch for development and testing
Note: If you were expecting to see additional branches here, please see Git Workflow.
This is my personal project that I'm developing alone and for my own purposes.
For that reason, a simplified Git workflow is used here.
My Git workflow contains the following steps:
- Pull from the remote (optional)
- Synchronize the
unstablebranch with thestablebranch - Make a new branch for a new feature, bugfix, or hotfix from the
unstablebranch - Push branch to the remote
- Implement the feature, bugfix, or hotfix within the branch
- Test the feature, bugfix, or hotfix within the branch
- Synchronize the
unstablebranch with thestablebranch (optional) - Synchronize the branch with the
unstablebranch (optional) - Retest the feature, bugfix, or hotfix within the branch (optional)
- Merge the branch into the
unstablebranch - Merge the
unstablebranch intostablebranch - Make a release within the
stablebranch - Delete the branch
- Push changes to the remote
Note: The optional steps are needed if you are developing a few features, bugfixes, or hotfixes at the same time.
Under what license is the source code distributed?
The source code is distributed under the Unlicense license.
How do I start contributing to the project?
To learn about contributing to the project, see CONTRIBUTING.md.
Why are some development dependencies necessary?
These dependencies are necessary for other dependencies to work correctly.
| Dependency | Purpose |
|---|---|
| tslib | Dependency for the typescript package |
- The Node.js icon, from
Icon-Icons.com, created by
Roberto Huertas and
licensed under the
CC BY 4.0license