Skip to content

Instantly share code, notes, and snippets.

View bobbybaxter's full-sized avatar

Bob Baxter bobbybaxter

View GitHub Profile
@bobbybaxter
bobbybaxter / package.json
Last active April 16, 2021 18:26
patreon-example package.json scripts change
// package.json
"scripts": {
"start": "react-scripts start --ignore server",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"server": "nodemon server/index.js",
"dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn start\""
}
@bobbybaxter
bobbybaxter / dataIndex.js
Last active April 16, 2021 18:10
patreon-example routes-data-routes-folders
// server/routes/firebase/data/index.js
// server/routes/patreon/data/index.js
const requireDir = require('require-directory');
module.exports = (opts) => requireDir(module, {
visit: (m) => m(opts),
});
@bobbybaxter
bobbybaxter / index.js
Last active April 16, 2021 18:09
patreon-example initial-route-index.js
// server/routes/firebase/index.js
// server/routes/patreon/index.js
const routeFactory = require('./routes');
module.exports = (app) => async (server) => {
const data = require('./data')(app);
const routes = routeFactory({ ...app, data, server });
return routes.forEach((route) => server.route(route));
};
@bobbybaxter
bobbybaxter / .gitignore
Last active April 16, 2021 18:04
patreon-example .gitignore
// server/.gitignore
/node_modules
/coverage
.env
.env.local
.env.development
.env.development.local
.env.test.local
.env.production.local
@bobbybaxter
bobbybaxter / index.js
Last active April 16, 2021 18:08
patreon-example server/routes/index.js
// server/routes/index.js
module.exports = (app) => async (server) => {
server.register(require('./firebase')(app));
server.register(require('./patreon')(app));
};
@bobbybaxter
bobbybaxter / server.js
Last active April 16, 2021 18:08
patreon-example server/server.js
module.exports = async function createServer(app) {
const server = require('fastify')({
logger: true,
ignoreTrailingSlash: true,
disableRequestLogging: true,
});
const PORT = 5000;
server.register(require('./routes')(app), { prefix: '/api' });
@bobbybaxter
bobbybaxter / index.js
Last active April 16, 2021 18:07
patreon-example server/index.js
// server/index.js
require('dotenv').config({ path: 'server/.env' });
const serverFactory = require('./server');
const app = {};
app.server = serverFactory(app);
module.exports = app;