Skip to content
This repository has been archived by the owner on May 18, 2023. It is now read-only.
/ elpiscloud Public archive

Refactor of the Elpis project, with a web service in mind.

Notifications You must be signed in to change notification settings

CoEDL/elpiscloud

Repository files navigation

ElpisCloud

☁️ elpis.cloud ☁️

A rework of the ELPIS Project, but cloud-based and chic.

Our documentation is being written here. 📖

Want to help?

Check out our guide on how to contribute.

Overview

This is a monorepo containing all the infrastructure and documentation for the project. Development is still ongoing, with only the inference flow and user management to go before public release.

Stack

We're using:

  • GCP as our cloud provider.
  • terraform to manage our cloud infrastructure.
  • firebase for auth and firestore.
  • next.js, React and Typescript for the frontend.
  • poetry and Python3.10 for the backend.

Repo Structure

  • architecture/: Where the terraform files live, which define our cloud architecture.
  • client/: The frontend files.
  • functions/: The cloud function source.
  • services/: Cloud run services, w docker images.
  • docs/: The documentation source.
  • scripts/: Some useful utilities.

Exporting the frontend files.

(TODO, move this to docs) For the steps below, the gcloud CLI tools are required (see here).

  1. Make sure you are signed into an account with iam privileges for the elpis frontend bucket.
  2. Set your project to 'elpiscloud': gcloud config set project elpiscloud
  3. From the root directory, run ./scripts/upload_frontend.sh prod. The frontend will make a static export, and then copy these files across to the bucket.