Skip to content

kkamara/nodejs-reactjs-boilerplate

Repository files navigation

nodejs-reactjs-boilerplate.png

nodejs-reactjs-boilerplate2.png

nodejs-reactjs-boilerplate

(2021) A NodeJS boilerplate with ReactJS 19 Redux SPA.

Using Postman?

Get Postman HTTP client.

Postman API Collection for NodeJS ReactJS Boilerplate.

Postman API Environment for NodeJS ReactJS Boilerplate.

Important Note

You should remove config.json from version-control because all database credentials are stored there.

For database usage in pipelines, I recommend creating a testing_config.json and adding database commands to package.json, like migrate:test and seed:all:test.

Installation

# Create our environment file.
cp .env.example .env
# Update values in .env file like port, timezone, and app name.
# Install our app dependencies.
npm install --global yarn
yarn install
# Before running the next command:
# Update your database details in config.json
yarn migrate
yarn seed:all

Frontend Installation

cd frontend
yarn install
yarn build

Sequelize tutorial

See package.json for helpful commands related to using the database.

# Docs:
#   https://sequelize.org/docs/v6/other-topics/migrations/
# Running a specific database seeder
NODE_ENV=development npx sequelize-cli db:seed --seed 20230814135938-demo-user.js
# Creating a model & migration
NODE_ENV=development npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string
# Creating a migration
NODE_ENV=development npx sequelize-cli migration:generate --name migration-skeleton
# Running migrations
NODE_ENV=development npx sequelize-cli db:migrate
# Revert the most recent migration
NODE_ENV=development npx sequelize-cli db:migrate:undo
# Revert to a specific migration
NODE_ENV=development npx sequelize-cli db:migrate:undo:all --to XXXXXXXXXXXXXX-create-posts.js
# Creating a seed (fake database data) to simulate production environment
NODE_ENV=development npx sequelize-cli seed:generate --name demo-user
# Running seeds
NODE_ENV=development npx sequelize-cli db:seed:all
# Undo the latest seed
NODE_ENV=development npx sequelize-cli db:seed:undo
# Undo all seeds
NODE_ENV=development npx sequelize-cli db:seed:undo:all

Usage

yarn start # Runs Start-script `yarn node src/app.js`
# Serves app to http://localhost:8000 .
# Serves API to http://localhost:8000/api/v1 .
#   Example API route: http://localhost:8000/api/health .

Reload server on project files change

yarn dev

Reload server and frontend app on project files change

yarn dev:frontend

Using docker?

docker-compose up --build -d

To run api tests

yarn test

Misc

See ReactJS Native Mobile App Boilerplate.

See MRVL Desktop.

See MRVL Web.

See NodeJS Docker Skeleton.

See NodeJS Scraper.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

BSD

About

(2021) A NodeJS boilerplate with ReactJS 19 Redux SPA.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published