Skip to content

Instantly share code, notes, and snippets.

View alancasagrande's full-sized avatar

Alan Casagrande alancasagrande

  • Berlin, Germany
View GitHub Profile
@alancasagrande
alancasagrande / multitenant_server_multi_db.js
Last active June 9, 2024 21:02
Multi-tenant app example with multiple databases. It will create 40 databases, use this gist to the delete them afterwards: https://gist.github.com/alancasagrande/4aa8b4a45ff7c8829ff5
var express = require('express');
var mongoose = require('mongoose');
var dbs = {};
for (var i = 0; i < 40; i++) {
dbs['t' + i] = mongoose.createConnection('mongodb://localhost/t' + i + '__multitenant', { server: { poolSize: 5 } });
}
var app = express();
@alancasagrande
alancasagrande / multitenant_server_single_db.js
Created September 4, 2014 18:13
Multi-tenant app example with prefixed collections
var express = require('express');
var mongoose = require('mongoose-multitenant')();
mongoose.connect('mongodb://localhost/multitenant', { server: { poolSize: 5 } });
var app = express();
app.use(express.bodyParser());
app.post('/posts', function (req, res) {
@alancasagrande
alancasagrande / multitenant_client.js
Created September 4, 2014 18:15
Simple client to test the multi-tenant app
var request = require('superagent');
var _ = require('underscore');
function firePost (tenant) {
var name = 'Post from tenant ' + tenant;
request
.post('http://localhost:3000/posts?tenant=t' + tenant)
.send({ name: name })
.set('Content-Type', 'application/json')
@alancasagrande
alancasagrande / mongo_drop_multitenant_dbs.js
Created September 4, 2014 18:17
Small script to run with mongo to delete the multi-tenant databases
var dbs = db.getMongo().getDBNames();
for (var i in dbs) {
db = db.getMongo().getDB( dbs[i] );
if (db.getName().indexOf('multitenant') > -1) {
print('dropping db ' + db.getName());
db.dropDatabase();
}
}
const path = require("path");
module.exports = {
mode: "production",
devtool: "source-map",
entry: {
index: "./index.js",
},
function HelloComponent() {
const element = document.createElement("div");
element.innerText = "Hello from bundle size demo";
return element;
}
document.body.appendChild(HelloComponent());
{
"name": "bundle-size-demo",
"version": "1.0.0",
"private": true,
"scripts": {
"build": "webpack --watch",
"start": "node server.js"
},
"devDependencies": {
"webpack": "^5.4.0",
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Bundle size demo</title>
</head>
<body>
<script src="index.js"></script>
</body>
</html>
import _ from "lodash";
function HelloComponent() {
const element = document.createElement("div");
element.innerText = _.join(
["Hello from bundle size demo", "with lodash"],
" "
);
return element;
}
const express = require("express");
const app = express();
app.use(express.static("dist"));
app.listen(8080);
console.log("Server running on http://localhost:8080");