Articard is an art history card web application.
This is full-stack web application and I hope useful enough if you love art and history. This application is using data and API from Rijksmuseum so you should have api key, username and userset.
This repository is monorepo and using MERN stack. That's means you need Node.js, MongoDB as database plus Redis as cache.
mongod --port 27117 --dbpath=C:\MongoDB\data\db --bind_ip 0.0.0.0$ redis-server
2195:C 27 Nov 2022 07:55:05.426 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
...
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 7.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 2195
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
2195:M 27 Nov 2022 07:55:05.434 # Server initialized
You need to setup .env file within srv package and change any keys with your custom settings.
.env
TELP_PORT=3113
TELP_RIJKSMUSEUM_API_KEY=[YOUR_USER_API_KEY]
TELP_RIJKSMUSEUM_USER_ID=[YOUR_USER_ID]
TELP_RIJKSMUSEUM_USERSET_NAME=[YOUR_USER_USERSET]
TELP_RIJKSMUSEUM_BASE_USERSETS_URL=https://www.rijksmuseum.nl/api/en/usersets
TELP_RIJKSMUSEUM_BASE_COLLECTION_URL=https://www.rijksmuseum.nl/api/en/collection
#mongodb address. change this.
TELP_DATABASE_URL=mongodb://mongo-server:27017/telp
#redis address. change this.
TELP_REDIS_URL=redis://redis-server:6379
# your domain
TELP_HOST=[YOUR_DOMAIN]Install all application development dependencies
npm installRun the application
npm run devGo to the browser and open http://localhost:3113
You can use Docker Compose to run articard, mongodb and redis server all in one host.
What you need to do first is setup .env within docker-compose.yaml and change any keys [YOUR_...] with your custom settings.
services:
web:
build: .
ports:
- "3113:3113"
environment:
- TELP_PORT=3113
- TELP_RIJKSMUSEUM_API_KEY=[YOUR_USER_API_KEY]
- TELP_RIJKSMUSEUM_USER_ID=[YOUR_USER_ID]
- TELP_RIJKSMUSEUM_USERSET_NAME=[YOUR_USER_USERSET]
- TELP_RIJKSMUSEUM_BASE_USERSETS_URL=https://www.rijksmuseum.nl/api/en/usersets
- TELP_RIJKSMUSEUM_BASE_COLLECTION_URL=https://www.rijksmuseum.nl/api/en/collection
- TELP_DATABASE_URL=mongodb://mongo-server:27017/telp
- TELP_REDIS_URL=redis://redis-server:6379
- TELP_HOST=[YOUR_DOMAIN]
depends_on:
- redis
- mongo
redis:
container_name: redis-server
image: redis
ports:
- "6379:6379"
mongo:
container_name: mongo-server
image: mongo
ports:
- "27017:27017"
volumes:
- ../data/db:/data/dband then compose docker service with running command
docker compose up