An unnamed cloud storage app
This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Marc Cataford acdf1ca145
feat(backend): create user + log in implementation (#31)
* feat(backend): create user table

* build(backend): add argon2-cffi dependency

* feat(backend): basic create user / login implementation

* chore(backend): ignore needless lintrules

* refactor(backend): user api+use cases clean up and docs

* refactor(backend): reorganize into module

* test(backend): login route coverage

* refactor(backend): add request data schemas

* test(backend): refactor client call fixtures

* feat(backend): set up username uniqueness constraint

* test(backend): update coverage for username uniqueness

* chore(backend): missing dunderinit

* chore(backend): linting
2023-08-20 15:42:34 +00:00
.github/workflows fix: trigger ci run if taskfile changes + split basepath env variable… (#27) 2023-08-19 11:33:18 -04:00
assets chore: add logo to README (#20) 2023-08-16 13:49:24 -04:00
backend feat(backend): create user + log in implementation (#31) 2023-08-20 15:42:34 +00:00
frontend refactor(frontend): queries > hooks, consolidate useFileMutations (#24) 2023-08-18 21:07:00 -04:00
script feat(backend): sub fetch endpoints (#2) 2023-08-08 23:49:54 -04:00
.gitignore perf: avoid redundant bootstrap runs on commands (#26) 2023-08-19 15:16:10 +00:00
LICENSE chore: add AGPLv3 license 2023-08-17 21:20:02 -04:00
README.md chore: add logo to README (#20) 2023-08-16 13:49:24 -04:00
Taskfile.backend.yml fix: trigger ci run if taskfile changes + split basepath env variable… (#27) 2023-08-19 11:33:18 -04:00
Taskfile.frontend.yml fix: trigger ci run if taskfile changes + split basepath env variable… (#27) 2023-08-19 11:33:18 -04:00
Taskfile.yml build: split taskfiles into be+fe concerns 2023-08-11 00:48:57 -04:00

Rotini

Overview

Rotini is a self-hosted cloud storage application that gives you full-control over the data you store. It aims for simplicity and extensibility, such that you can get started in minutes and easily fork or contribute upstream if you fancy a feature that's not already there.

It's roadmap is currently TBD and will become better defined as it gets closer to a first release.

Development

Tooling

Utility commands are managed by go-task and can be called from anywhere. Running . script/bootstrap installs go-task within the project and gets everything ready. From there, task -l provides a breakdown of available tools.

Note that this is the preferred way to running any tooling-related task within the repository, regardless of environment.

Running locally

The application requires a Postgres database instance to be made available to the backend. This can be done for you via task be:start-db.

Starting the backend and frontend applications can be done via task be:start and task fe:start.

Starting the backend application

The backend application is available as a container, which you can run as

task be:start

If you opt to run your database in an adjacent container, you can either run containers in such a manner than they share a network or define the database's host via docker.host.internal:

task be:start -- --add-host docker.host.internal:host-gateway

More generally, extra options can be passed to the docker run call that runs the application this way:

task be:start -- <options>

See the README files of each of those environments (backend, frontend) for specific requirements.)