DEV Community

Andrew Pierno
Andrew Pierno

Posted on

The Ultimate React Starter Kit

Learn more at SugarKubes.io

Full Stack Starter Project

  • React
  • Material-UI
  • NextJS
  • Mobx
  • Koa
  • Stripe
  • Image and video uploader
  • Instantly deployable on Google Cloud Run (serverless)
  • Eslint
  • Babel
  • Swagger API Docs

Features:

  • Authentication: Enterprise-grade passwordless login (Password reset, multi-factor authentication) via Auth0
  • File Uploading: Complete file uploading system (s3, wasabi, google cloud);
  • API: Complete with user registration, email sending, and some useful CRUD operations.
  • Mongoose: Mongoose ORM used for mongodb. Includes user CRUD.
  • MongoDB: ready - deploy using Mongo Atlas, compose.io, or Amazon's Document DB.
  • Bloat Free.: Build and deploy in minutes not hours.
  • Uploading Server: Upload images via Google Drive, Dropbox, Webcam, URL, and Instagram!
  • Stripe Integration: Start charging quickly with some helper stripe classes on both the front end and back end.
  • Analytics: Mixpanel and (Amplitude)[https://amplitude.com] analytics ready.
  • New User Walkthrough: When a new user signs up you can walk them through several instructions.

Video Walk Through

Video Walk Through

App - Front end

login

Tech Used

SSR (server side rendered) react starter kit

To start

  • Make sure to fill in the configuration files to start. Put them in config.dev.json. For production, put your configs in config.prod.json
cd app
npm i
npm run dev
Enter fullscreen mode Exit fullscreen mode

To build outside docker

cd app
npm run build
npm run prod
Enter fullscreen mode Exit fullscreen mode

To build the docker container

cd app
# Replace values in build_push.sh with your docker credentials or google credentials
./build_push.sh
Enter fullscreen mode Exit fullscreen mode

To run in production

docker run -dti -p 8080:8080 -e PORT=8080 <your image name>
Enter fullscreen mode Exit fullscreen mode

To deploy on Google Cloud Run

  • Google's Cloud Run is one of my new favorite services, you can instantly deploy docker containers that auto scale and can be attached to a custom domain.

  • This repo is ready to instantly deploy on cloud run, just push to the google container hub using the ./build_push.sh command and voila!

API - Back end

Documentation

  • Make sure to fill in the configuration files to start. Put them in config.dev.json. For production, put your configs in config.prod.json
cd api
npm run dev
Enter fullscreen mode Exit fullscreen mode

Swagger

  • Swagger is on /docs
  • to build docs run
npm run docs
Enter fullscreen mode Exit fullscreen mode

To build the docker container

cd app
# Replace values in build_push.sh with your docker credentials or google credentials
./build_push.sh
Enter fullscreen mode Exit fullscreen mode

To run in production

docker run -dti -p 8080:8080 -e PORT=8080 <your image name>
Enter fullscreen mode Exit fullscreen mode

Create DB

  • You can easily deploy a free mongodb instance using Mongo's Atlas Free Tier!
mongo admin --username root -p --host xx.xxx.xx.xxx

db = db.getSiblingDB("your-db-dev")
db.createUser( { user: "dev", pwd: "xoxoxo", roles: [ "readWrite", "dbAdmin" ]} )

db = db.getSiblingDB("your-db-prod")
db.createUser( { user: "prod", pwd: "xoxoxo", roles: [ "readWrite", "dbAdmin" ]} )

Enter fullscreen mode Exit fullscreen mode

Uploader

  • Sits on a different service
  • Instructions in the README in uploader/readme for setting up on google cloud
  • instantly deploy with google cloud run
cd uploader
npm run dev

Enter fullscreen mode Exit fullscreen mode

Top comments (0)