# Research Project Website This repository contains the source code for the AM-D-Model project's public-facing website. The site serves as an info page, as well as an invitation to collaborators and portal to our other tools. ## Getting Started ### Prerequisites This project uses `devenv.nix` to manage the development environment, which will handle all prerequisites automatically. Make sure you have `devenv` installed on your system. If you wish to avoid using devenv it should also work fine directly using bun, node, or deno, but i can't make any promises as i use devenv. ### Installation 1. Clone the repository: ```bash git clone https://github.com/Cian-H/am-d-model.eu.git cd am-d-model.eu ``` 2. Start the development server: - via bun (recommended) ```bash bun install bun run dev ``` - via node.js ```bash npm install npm run dev ``` - via deno ```bash deno install --allow-scripts=npm:svelte-preprocess,npm:@parcel/watcher deno run dev ``` - via docker ```bash docker build --tag am-d-model-site:latest . docker run -p 3000:3000 am-d-model-site ``` The site will be available at `http://localhost:3000` ### Other Commands - `bun preview`: Run a preview of the production build - `bun build`: Build the site for production - `docker compose up`: Deploys a docker composition including a caddy reverse proxy, ready to be deployed to web infrastructure - `just deploy`: Deploys a full docker composition and initialises databases, for first deployment of site ## Deployment For simplicity, deployment is manually triggered via justfiles. More complex solutions may be implemented in future but for now, simplicity is a virtue. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Acknowledgements Thanks to the extremely friendly community of the inveniosoftware discord, and in particular Martin Fenner and his [alternative invenio deployment](https://github.com/front-matter/invenio-rdm-starter/tree/main) using gunicorn and caddy. Trying to get this to work via the traditional uwsgi and nginx was a nightmare; one he had apparently already discovered and worked around.