This repository contains:
- All backend server-side code, written in Golang.
- All public-facing custom websites, specifically the portal.
- PostgreSQL schema, sample/seed data, and tools.
In order to build this project and be able to run it yourself, you'll need the following dependencies:
NOTE: It should be possible to use npm
if you'd like to avoid installing yarn
.
The server-side architecture is broken into two main parts:
-
Server: A monolithic
golang
service that provides the backend REST API for FieldKit. It requires a PostgreSQL instance, which is covered later. It also reads objects from S3 for a more seamless developer experience. Any write that would go to S3 will go to the local file system when running in single-machine configuration. -
Portal: A Vuejs (JavaScript/TypeScript) single-page application that communicates with the backend server's API. This is the shiny and interesting stuff.
Ensure your system is up to date:
sudo apt update
sudo apt upgrade
Clone the project:
git clone https://github.com/fieldkit/cloud
- Navigate to Downloads:
cd ~/Downloads
- Install Docker Desktop:
sudo apt-get update
sudo apt-get install ./docker-desktop-<version>-<arch>.deb
Refer to the StackOverflow thread for issues regarding Docker CLI installation.
To install, follow the steps below:
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y
For additional information, check Docker's official documentation.
sudo apt install docker-compose
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
After installing NVM, restart the terminal and then install the desired versions of Node.js:
nvm install stable
nvm install lts/hydrogen
sudo apt install make
sudo snap install go --classic
npm install --global yarn
Navigate to the project's portal folder and run:
yarn install
- Install tiptap:
npm install tiptap
- In one terminal, start Docker:
sudo docker-compose up
- In a separate terminal, serve the project:
yarn serve
- Issue with
@secrets
that's not getting resolved.
This should give you a nicely formatted README.md on GitHub with all the instructions and references intact. Adjustments might be needed depending on the specific layout you had in mind or the specifics of the project.
*EOF*