The Source is a tutorial search service powered by crowd-sourced ratings and reviews.
Starts the React app in development mode at http://localhost:8282
supports hot code reloading
automatic transpilation and bundling
server rendering and indexing of ./pages
npm build builds a production ready version of the React app. npm start will start the built app.
Starts the Jest / Enzyme testing suite
Key
Description
BACKEND_DEV
Backend host and port in development - http://localhost:7272
COOKIE
Name of cookie containing JWT
DEBUG
Toggle extra Apollo Server console logs
FRONTEND_DEV
Frontend host and port in development
GOOGLE_ID
Client ID Google Plus OAuth
GOOGLE_SECRET
Client Secret Google Plus OAuth
JWT_SECRET
Used in creation of Json Web Token
PRISMA_ENDPOINT
Prisma database url
PRISMA_SERVICE_SECRET
Required to access Prisma database
PRISMA_TOKEN
Sent with seed request to Prisma
PORT
Backend Server port
Backend Dependencies (production)
Pkgs
Use
Description
Link
apollo-server-express
A GraphQL Server for Express
docs
axios
Promise based HTTP client for the browser and JavaScript
github
bcryptjs
Library to help hash passwords
github
cookie-parser
Parse Cookie header and populate req.cookies
github
csv-parse
Parser to convert CSV text into arrays or objects
docs
dotenv
Loads variables from .env files into process.env
github
express
Web framework for Node.js
docs
graphql-import
Converts .graphql file into typeDef string
docs
graphql-resolvers
Resolver composition library
github
jsonwebtoken
An implementation of JSON Web Tokens
github
nodemon
Monitors changes and reloads node automatically
docs
passport
Simple, unobtrusive authentication for Node.js
docs
passport-google-oauth20
Google authentication for Passport
github
prisma-client-lib
Everything needed to run Prisma Client with JavaScript
docs
Backend Dependencies (development)
Pkgs
Use
Description
Link
⚠️
Frontend Dependencies (production)
Pkgs
Use
Description
Link
next
development
Framework for server-side rendered React apps
docs
react
development
JavaScript library for building user interfaces
docs
react-dom
development
React package for working with the DOM
github
apollo-boost
state mgmt
Zero-config Apollo Client
github
next-with-apollo
development
Apollo HOC for Next.js
github
react-apollo
state mgmt
React data container for Apollo Client
github
graphql
development
JS ref implementation of GraphQL (requirement for apollo-boost and react-apollo)
github
graphql-tag
development
JS template literal tag that parses GraphQL queries
github
@zeit/next-sass
styling
Compiles .scss files to .css files
github
@zeit/next-css
styling
Required for importing fonts and other assets in .scss files
github
node-sass
styling
Nodejs bindings for LibSass
github
nprogress
UI
Progress bar for loading components
github
Frontend Dependencies (development)
Pkgs
Use
Description
Link
jest
testing
JavaScript Testing
docs
babel-jest
testing
Jest plugin to use babel for transformation
github
enzyme
testing
JavaScript Testing utilities for React
docs
enzyme-adapter-react-16
testing
Enzyme adapter for React
docs
eslint
linter
An AST-based pattern checker for JavaScript
docs
eslint-plugin-jest
linter
ESLint rules for Jest
github
eslint-plugin-prettier
linter
Runs prettier as an eslint rule
github
eslint-config-airbnb-base
linter
Airbnb's ESLint config
github
eslint-plugin-import
linter
Supports linting of ES6 import/export syntax
github
eslint-plugin-jsx-a11y
linter
Static AST checker for accessibility rules on JSX elements
github
eslint-plugin-react
linter
React specific linting rules for ESLin
github
babel-eslint
linter
Custom parser for ESLint
github
husky
development
Pre-git commit linting hooks
docs
lint-staged
development
Lint files staged by git
github
prettier
development
Opinionated code formatter
docs
file-loader
bundling
A file loader module for webpack
github
url-loader
bundling
A loader for webpack which transforms files into base64 URI
github
↑ 👋