Journey into the aether where storage defies conventional bounds.
aether is a modern file storage platform that implements a state-of-the-art Merkle tree structure to store multiple files.
The project structure is loosely based on the layout outlined in golang-standards/project-layout. The exceptions are:
- The
web
directory has been renamed toapp
to conform to the Next.js project structure. - The
public
directory contains static assets for the web app to conform to Next.js project structure.
- Create the
.env.*
files for each application to the.config/
directory:
make setup
- Go to the
.config/
directory and edit each.env.*
file.
- Simply run:
make
⚠️ NOTE: Themake
command will run/re-runmake setup
, but will not overwrite any.env.*
that may have been edited in section 1.2.
- Navigate to http://localhost:8080 to access the web portal.
Command | Description |
---|---|
make |
Installs dependencies, setups the basic configuration and runs the Docker Compose configuration. Intended for development purposes only. |
make build-core |
Builds the core app into a binary to the .build/ directory. |
make build-web |
Builds the web app to the .next/ directory. |
make dev-core |
Runs the core app using go run . Intended for development purposes only. |
make dev-web |
Runs the web app using next dev . Intended for development purposes only. |
make clean |
Deletes the build directory. |
make install |
Installs the yarn and golang dependencies. |
make run |
Checks if the apps are correctly configured and runs Docker Compose. Intended for development purposes only. |
make setup |
Creates .env.* files in the .config/ directory. |
Here is a list of all the localhost port mappings for each of the apps
Port | URL | Docker Compose Service |
---|---|---|
3000 |
http://localhost:3000 | core_app |
8080 |
http://localhost:8080 | web_app |
Please read the Contributing Guide to learn about the development process.
Please refer to the COPYING file.