Skip to content

Latest commit

 

History

51 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nodify

Nodify logo

A Node.js starter kit

Tech Stack

Node.js pnpm Rolldown TypeScript Vitest

Overview

This is a Node.js starter kit.

Screenshots

The app in action The app running in Rio Terminal An example request to the Index route An example request to the Index route in Resonance HTTP Client An example request to the Health route An example request to the Health route in Resonance HTTP Client

Requirements

To ensure the app is installed correctly and works properly, make sure you have:

  1. Node.js: a runtime environment for running the bot
  2. pnpm: a package manager for installing dependencies

Installation

Follow these steps to set up the app:

  1. Clone the repository:

    git clone https://github.com/madliani/nodify.git
    cd nodify
  2. Install dependencies:

    pnpm install
  3. Set up development mode and the app port:

    Create a .env file in the root directory, and add the following lines:

    NODE_ENV="development-or-production"
    PORT=your-port
  4. Run tests:

    pnpm test
  5. Build the app:

    pnpm build:release
  6. Start the app:

    pnpm start:release

Project Structure

  • assets/: a directory containing assets for the README.md file
    • assets/icons/: a directory containing icons for the README.md file
      • assets/icons/nodejs.svg: the Node.js icon
    • assets/images/: a directory containing images for the README.md file
  • src/: a directory containing source files of the Node.js app
    • src/app/: a directory containing the main component of the app
      • src/app/tests/: a directory containing tests for the main component of the app
    • src/logger/: a directory containing source files of the logger
    • src/router/: a directory containing source files of the router
    • src/types/: a directory containing type declarations for the entry point of the app
    • src/main.ts: a file containing the entry point of the app
  • types/: a directory containing type declarations for the configuration files
    • types/vitest.ts: a file containing type declarations for the Vitest configuration file
  • .env: an environment variables file (local)
  • .gitattributes: a Git attributes file
  • .gitignore: a Git ignore file
  • .prettierignore: a Prettier ignore file
  • .tsbuildinfo: a file of the TypeScript compiler for storing incremental compilation information (local)
  • AUTHORS.txt: an AUTHORS file
  • CHANGELOG.md: a CHANGELOG.md file
  • CONTRIBUTING.md: a CONTRIBUTING.md file
  • cspell.config.js: a JavaScript-based cSpell configuration file
  • eslint.config.js: a JavaScript-based ESLint configuration file
  • LICENSE.txt: a license file
  • package.json: a package.json file
  • pnpm-lock.yaml: a pnpm lockfile
  • pnpm-workspace.yaml: a pnpm-workspace.yaml file
  • prettier.config.js: a JavaScript-based Prettier configuration file
  • README.md: a README file
  • tsconfig.app.json: a TypeScript configuration file for the app
  • tsconfig.json: a base TypeScript configuration file
  • tsconfig.json: a main TypeScript configuration file
  • tsconfig.test.json: a TypeScript configuration file for the tests
  • tsdown.config.js: a JavaScript-based tsdown configuration file
  • vitest.config.js: a JavaScript-based Vitest configuration file

Branches

  • stable: a stable branch for production builds
  • unstable: an unstable branch for development and testing

Note: If you were expecting to see additional branches here, please see Git Workflow.

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:

  1. Pull from the remote (optional)
  2. Synchronize the unstable branch with the stable branch
  3. Make a new branch for a new feature, bugfix, or hotfix from the unstable branch
  4. Push branch to the remote
  5. Implement the feature, bugfix, or hotfix within the branch
  6. Test the feature, bugfix, or hotfix within the branch
  7. Synchronize the unstable branch with the stable branch (optional)
  8. Synchronize the branch with the unstable branch (optional)
  9. Retest the feature, bugfix, or hotfix within the branch (optional)
  10. Merge the branch into the unstable branch
  11. Merge the unstable branch into stable branch
  12. Make a release within the stable branch
  13. Delete the branch
  14. 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.

FAQs

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

Attributions

About

A Node.js starter kit

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages