Technical Documentation
This section contains the technical documentation for Atlas intended for developers.
Are you a researcher? Check out instead:
- Atlas Home - General overview
- Atlas Verify Guide - User documentation for researchers
Overview
Atlas is a TypeScript monorepo using Effect for functional programming and error handling.
Project Structure
atlas/
├── apps/
│ └── ecrin/ # SvelteKit Dashboard (Zero Trust)
├── packages/
│ ├── crf/ # REDCap client, server, CLI
│ ├── net/ # Network utilities
│ └── typescript-config/ # Shared TypeScript config
├── infra/ # Kubernetes infrastructure
└── docs/ # Documentation (this site)Tech Stack
| Area | Technologies |
|---|---|
| Runtime | Node.js 20+, TypeScript 5.x |
| Framework | Effect (functional programming) |
| Frontend | SvelteKit 2, Svelte 5 (runes) |
| Package manager | pnpm (workspaces) |
| Build | Vite, tsup |
| Test | Vitest |
| Lint | ESLint, Prettier |
| Kubernetes | k3d (dev), k3s (prod), Cilium, SPIRE, OPA |
Documentation by Domain
Atlas CRF (REDCap)
| Document | Description |
|---|---|
| Client and server | REDCap integration with Effect |
| CLI Tools | Command line tools |
Atlas Citations
| Document | Description |
|---|---|
| Overview | Package architecture |
| Bibliographic sources | Clients by source |
| Atlas Verify | Verification system |
Infrastructure
| Document | Description |
|---|---|
| General architecture | Effect patterns, ESLint, scripts |
| Zero Trust infrastructure | Kubernetes, security |
| Workspace conventions | Repository structure and naming rules |
Audits
| Document | Description |
|---|---|
| Dependencies audit | Inventory and update roadmap |
Quick Start
Installation
bash
# Clone the repo
git clone https://github.com/univ-lehavre/atlas.git
cd atlas
# Install dependencies
pnpm install
# Start development
pnpm devMain Commands
bash
pnpm dev # Development with hot-reload
pnpm build # Build all packages
pnpm test # Unit tests
pnpm lint # Code verification
pnpm ready # Complete pre-commit checksREDCap Configuration
bash
# Environment variables
export REDCAP_API_URL=https://redcap.example.com/api/
export REDCAP_API_TOKEN=YOUR_32_CHAR_HEXADECIMAL_TOKEN
# Test the connection
pnpm -F @univ-lehavre/crf crf-redcap testÉtat des packages 7
| Package | Version |
|---|---|
appwrite | 0.2.2 |
auth | 0.2.2 |
errors | 0.2.2 |
logos | 1.1.1 |
net | 1.0.1 |
redcap-core | 1.1.2 |
validators | 0.2.2 |
Contributing
- Create a branch from
main - Make your changes
- Run
pnpm readyto verify - Create a Pull Request
See CONTRIBUTING.md for more details.