About this project

Crystal Structure Search Application is a microservice/event-driven platform that indexes and searches crystal structures from the Crystallography Open Database (COD). Built with TypeScript, Node.js 22, Express, React 18, Vite, Zustand, MongoDB, Redis, RabbitMQ, Docker Swarm, and Traefik, it provides a REST API (c14-api) and a server‑rendered web UI (c14-web). The data pipeline syncs CIF files via rsync (cod-to-disk), parses them into MongoDB (disk-to-db), and builds searchable indexes for authors, names, formulas, and fragments (structure-to-index). Additional containers handle scheduled maintenance, substructure search routing, and worker processing. Development uses a monorepo with workspaces; commands include npm install, npm run build, lint, test, and dev. Deployment is fully automated via GitHub Actions, supporting CI, Docker image builds, and scaling on Docker Swarm. The project is open‑source under the MIT license.