Proyek ini dikembangkan di bawah fase sebelumnya dari Yale Digital Humaniora Lab. Sekarang menjadi bagian dari metode komputasi dan departemen data Yale Library, lab tidak lagi memasukkan proyek ini dalam ruang lingkup pekerjaannya. Karena itu, ia tidak akan menerima pembaruan lebih lanjut. Versi situs web ini saat ini, tidak tercermin di sini, dimiliki oleh Profesor Elihu Rubin.
Memetakan sejarah arsitektur New Haven.
New Haven Building Archive (NHBA) adalah arsip digital bangunan di New Haven. Repositori ini menampung kode sumber dan panduan situs untuk membangun situs secara lokal atau pada instance EC2.

Aplikasi ini membutuhkan Node.js (versi 6 atau lebih tinggi) dan MongoDB.
Migrasi data dalam aplikasi ini memerlukan Pymongo ( pip install pymongo ).
Untuk menjalankan aplikasi ini di mesin Anda, buka terminal dan jalankan:
# obtain application source and enter repository
git clone https://github.com/duhaime/nhba
cd nhba
# load database
wget https://s3-us-west-2.amazonaws.com/lab-apps/nhba/archives/nhba-11-12-08.archive -O nhba.archive
mongo nhba --eval "db.dropDatabase()"
mongorestore --db nhba --archive=nhba.archive
# obtain images
wget https://s3-us-west-2.amazonaws.com/lab-apps/nhba/archives/build.tar.gz -O build.tar.gz
tar -zxf build.tar.gz
# install nvm, e.g. with brew
brew install nvm
# install node compatible with this library
nvm install v10.24.1
nvm use v10.24.1
# install dependencies
npm install --no-optional
# start production server
npm run production
Aplikasi kemudian akan tersedia di localhost:8080 .
Anda secara opsional dapat membuka jendela terminal lain, CD ke direktori NHBA, dan menjalankan npm run start untuk memulai server pengembangan pada 8081. Server pengembangan ini tergantung pada server produksi, tetapi fitur pemuatan ulang modul panas untuk kecepatan pengembangan yang lebih cepat.
Untuk menggunakan aplikasi ini pada instance Amazon Linux di EC2, seseorang harus:
# Install Node.js on Amazon Linux
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 6.10.0
node -v
# Install MongoDB on Amazon Linux
sudo touch /etc/yum.repos.d/mongodb-org-3.4.repo
sudo vim /etc/yum.repos.d/mongodb-org-3.4.repo
# paste the following:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
sudo yum install -y mongodb-org
sudo service mongod start
sudo chkconfig mongod on
Mari Enkripsi memungkinkan pengguna untuk mendapatkan sertifikat SSL gratis untuk alamat domain terikat. Untuk menjalankan Klien Enkripsi Let's dan mendapatkan sertifikat, Anda harus membuat IP elastis untuk instance EC2 Anda, dapatkan nama domain (mis. Cats.com) dan mengikat instance EC2 Anda ke domain. Untuk pengguna yang menggunakan namecheap, posting ini menyediakan panduan menyeluruh.
Setelah ini selesai, seseorang dapat mengunduh dan menjalankan klien Let's Encrypt dengan perintah berikut:
# get Let's Encrypt client
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
# pass domain to -d; must be a bound domain, not a raw IP
sudo ./certbot-auto --debug -v --server https://acme-v01.api.letsencrypt.org/directory certonly -d YOURDOMAIN.EXT
Di sini Anda domain.ext mengacu pada domain tempat instance Anda terikat. Saat diminta, pilih opsi kedua (server sementara) untuk memproses sertifikat Anda.
Kemudian perbarui file nhba/config.js untuk mencerminkan lokasi sertifikat Anda. Lokasi default adalah /etc/letsencrypt/live/YOURDOMAIN.EXT/fullchain.pem
Untuk menjalankan aplikasi Anda di https, cukup perbarui nhba/config.js :
config.api = {
protocol: 'https',
host: 'YOURDOMAIN.EXT',
port: 443,
prefix: 'api'
}
Tambahkan variabel berikut ke ~/.bash_profile :
export NHBA_EMAIL='YOURGMAILACCOUNT' # e.g. catparty
export NHBA_EMAIL_PASSWORD='YOURGMAILPASSWORD' # e.g. meow
export NHBA_SECRET='NHBA_SECRET' # equivalent to `rake secret`
export NHBA_SALT_WORK_FACTOR=10 # encryption difficulty
export NHBA_ENVIRONMENT='production' # switch to production
export NHBA_ADMIN_EMAILS='[email protected] [email protected]' # space separated emails
export NHBA_SUPERADMIN_EMAILS='[email protected]' # space separated emails
Kemudian source ~/.bash_profile
Buat direktori di mana unggahan pengguna dapat disimpan: mkdir build/aset/unggah/file
Hanya pengguna superadmin yang dapat menunjuk pengguna admin lainnya. Pengguna superadmin harus ditunjuk di tingkat baris perintah:
# enter nhba db
mongo nhba
# find a user by their email address and make them a superadmin
db.users.update({'email': '[email protected]'}, {$set: {'superadmin': true}})
npm run compress
sudo node server.js
Anda mungkin ingin menggunakan pembungkus seperti Forever.js untuk menjaga server Anda tetap berjalan ...