Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/calkit/calkit-cloud
The Calkit cloud system.
https://github.com/calkit/calkit-cloud
open-science reproducibility reproducible-research sharing sharing-data
Last synced: about 1 month ago
JSON representation
The Calkit cloud system.
- Host: GitHub
- URL: https://github.com/calkit/calkit-cloud
- Owner: calkit
- License: other
- Created: 2024-08-21T23:12:00.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2025-01-09T17:02:26.000Z (about 1 month ago)
- Last Synced: 2025-01-09T17:28:38.846Z (about 1 month ago)
- Topics: open-science, reproducibility, reproducible-research, sharing, sharing-data
- Language: TypeScript
- Homepage: https://calkit.io
- Size: 4.3 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 114
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Calkit cloud
The Calkit cloud system serves as an index for projects and their artifacts
such as datasets, figures, publications, computational environments, etc.
It also serves as a [DVC](https://dvc.org) remote,
neatly integrated with the
[Calkit CLI](https://github.com/calkit/calkit),
so users can easily
back up their data and artifacts in the same repository as their code,
documentation, other text files, etc.The goal is that this can serve as a platform for working
efficiently and reproducibly, collaborating, and sharing all in one.
Our future vision is one where research is advanced more quickly
because instead of simply producing a paper,
other more reusable artifacts are created and can be easily carried forward
in new projects.
Additionally, all studies should be able to be reproduced by anyone else
by using this framework,
resulting in more reliable knowledge.## Deploying your own instance
A future goal of this project is to make it easy for teams or institutions to
deploy their own Calkit cloud instances in a federated network, where users on
any instance can search for projects, datasets, etc., on any other instance.
This is currently not easy, but if you'd like to help make it so, please
join the discussion in
[this issue](https://github.com/calkit/calkit-cloud/issues/190).## Technology stack and features
This project was derived from
[Full Stack FastAPI Template](https://github.com/fastapi/full-stack-fastapi-template) by SebastiΓ‘n RamΓrez,
which uses:- β‘ [**FastAPI**](https://fastapi.tiangolo.com) for the Python backend API.
- π§° [SQLModel](https://sqlmodel.tiangolo.com) for the Python SQL database interactions (ORM).
- π [Pydantic](https://docs.pydantic.dev), used by FastAPI, for the data validation and settings management.
- πΎ [PostgreSQL](https://www.postgresql.org) as the SQL database.
- π [React](https://react.dev) for the frontend.
- π Using TypeScript, hooks, Vite, and other parts of a modern frontend stack.
- π¨ [Chakra UI](https://chakra-ui.com) for the frontend components.
- π€ An automatically generated frontend client.
- π§ͺ [Playwright](https://playwright.dev) for End-to-End testing.
- π¦ Dark mode support.
- π [Docker Compose](https://www.docker.com) for development and production.
- π Secure password hashing by default.
- π JWT (JSON Web Token) authentication.
- π« Email based password recovery.
- β Tests with [Pytest](https://pytest.org).
- π [Traefik](https://traefik.io) as a reverse proxy / load balancer.
- π’ Deployment instructions using Docker Compose, including how to set up a frontend Traefik proxy to handle automatic HTTPS certificates.
- π CI (continuous integration) and CD (continuous deployment) based on GitHub Actions.## Backend development
Backend docs: [backend/README.md](./backend/README.md).
## Frontend development
Frontend docs: [frontend/README.md](./frontend/README.md).
## Deployment
Deployment docs: [deployment.md](./deployment.md).
## Development
General development docs: [development.md](./development.md).
This includes using Docker Compose, custom local domains, `.env` configurations, etc.