An open API service indexing awesome lists of open source software.

https://github.com/calkit/calkit-cloud

A platform for creating and sharing knowledge via Calkit projects.
https://github.com/calkit/calkit-cloud

analytics data-science open-science reproducibility reproducible-research research sharing sharing-data

Last synced: about 2 months ago
JSON representation

A platform for creating and sharing knowledge via Calkit projects.

Awesome Lists containing this project

README

          

# Calkit Cloud

The Calkit Cloud 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.

## Get involved

We welcome all kinds of contributions.

- Participate in **[GitHub Discussions](https://github.com/calkit/discussions)**.
- Join our [**Discord**](https://discord.gg/ubb7gAXc) for real-time collaboration.
- Follow our updates on [**LinkedIn**](https://linkedin.com/company/calkit).

## 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.