The Source is a tutorial search service powered by crowd-sourced ratings and reviews.
Leen Kim | Benjamin Brooke | Eric Miller |
---|---|---|
Github | Github | Github |
npm run dev
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
npm start
npm build
builds a production ready version of the React app. npm start
will start the built app.
npm test
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 |
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 |
Pkgs | Use | Description | Link |
---|---|---|---|
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 |
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 |
↑ 👋