Amsterdam Diaries Time Machine is a Nuxt 3 application designed to bring the past to life with diary fragments from Amsterdam women during World war 2. By navigating through their diaries, get an immersive glimpse into their lives.
- Node.js (version 20 or higher)
- NPM
- Docker (To run the database)
- Clone the repository:
git clone [email protected]:amsterdamtimemachine/amsterdam-diaries.git
cd amsterdam-diaries
- Build & Run the database container
docker build -t atm-db .
docker run -d --name atm-db -p 3306:3306 atm-db
- Install dependencies:
npm ci
- To populate the database with diaries, use the import script.
You do need to add the env variabels to connect to the database, for example:
NUXT_DB_HOST=localhost NUXT_DB_PORT=3306 NUXT_DB_USER=importer NUXT_DB_PASS=importer NUXT_DB_NAME=mydb npm run import
- Run the development server:
npm run dev
This project uses GitHub Actions for automated deployments:
- Production Deployment: Commits to the
main
branch automatically trigger a deployment to the production environment. - Staging Deployment: Commits to the
develop
branch trigger a deployment to the staging environment for testing and acceptance purposes.
To ensure data integrity, the application includes tests to validate the contract with the linked open data:
npm run import:test
These tests verify that the application is correctly fetching and displaying linked open data, maintaining consistency between the app and data sources.