No description
Find a file
2021-03-24 10:26:05 +01:00
client Bump axios from 0.19.2 to 0.21.1 in /client (#6) 2021-03-24 10:21:02 +01:00
constants creates pages and routes; firebase utils 2020-04-23 19:16:53 +02:00
middlewares/auth secures api routes using Firebase; add create users route 2020-04-23 18:17:47 +02:00
models User Model; add User to db 2020-04-24 16:01:35 +02:00
routes/api User Model; add User to db 2020-04-24 16:01:35 +02:00
services/auth secures api routes using Firebase; add create users route 2020-04-23 18:17:47 +02:00
.gitignore sample app ready 2020-04-25 12:56:11 +02:00
.gitpod.yml Fully automate dev setup with Gitpod 2021-03-24 09:22:30 +00:00
package-lock.json fix cve 2021-03-24 09:25:26 +00:00
package.json fix cve 2021-03-24 09:25:26 +00:00
Procfile installed helmet 2020-04-23 14:57:11 +02:00
README.md Fully automate dev setup with Gitpod 2021-03-24 09:22:30 +00:00
server.js add firebase service and main router 2020-04-23 19:16:21 +02:00
TODO.md User Model; add User to db 2020-04-24 16:01:35 +02:00

Gitpod ready-to-code

MERN Stack Demo

Skeleton MERN Stack app with Redux and Firebase.

Prequisites

  • NodeJs
  • npm

Backend configuration

npm init -y

install dependencies

npm i express mongoose concurrently firebase-admin helmet moment

install nodemon for server hot reload and jest for testing

npm i -D nodemon jest

Update package.json

{
  "type": "module",
  "scripts": {
    "start": "node --experimental-modules --experimental-json-modules server.js",
    "server": "nodemon --experimental-json-modules server.js",
    "client": "npm start --prefix client",
    "client-install": "npm install --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client",
    "test": "jest",
    "test:watch": "npm run test -- --watch"
  }
}

Frontend configuration

npx create-react-app client --template redux

Install dependencies

npm i axios firebase prop-types react-router-dom

Update package.json

{
  "proxy": "http://localhost:5000"
}