ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - caddishouse/reader: A web-based document reader.
A web-based document reader. Contribute to caddishouse/reader development by creating an account on GitHub.
Visit Site

GitHub - caddishouse/reader: A web-based document reader.

GitHub - caddishouse/reader: A web-based document reader.

Caddishouse

Caddishouse is a web-based document reader. It connects to your cloud-based storage accounts and lets you import documents to read. You can use it by accessing https://www.caddishouse.com OR set it up locally.

It does the following:

  • Access your documents in any number of cloud-based storage accounts quickly.
  • Saves the current page you're on for each document.
  • Uses less bandwidth/CPU/memory than current readers (TBD, see issue: (TODO)) and loads faster.

In order to support this last requirement, it gives up the following features which many other document readers support (these may be implemented at a future point):

  • It is not possible to search a document
  • It is not possible to select/copy text
  • Annotations are not supported

See ROADMAP for planned features.

Screenshot

image

Quick Start

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server
  • Start your Minio server (see Set-up Minio), or configure an alternative (see Configuration).

Now you can visit localhost:3333 from your browser.

Configuration

# ENVARS
MINIO_HOST=localhost
MINIO_PORT=9001
MINIO_ACCESS_KEY=<must be set>
MINIO_SECRET_KEY=<must be set>
ASSET_URL=http://localhost:9001

GOOGLE_OAUTH_CLIENT=<no default, will not throw error if unset>
GOOGLE_OAUTH_SECRET=<no default, will not throw error if unset>
GOOGLE_OAUTH_REDIRECT_URL=http://localhost:3333/auth/google/callback

In addition, it's possible to add/implement your own storage solution. While using S3 intead of Minio is simply pointing the host/port/keys to your S3 set-up, you could use an alternative storage solution by implementing the Caddishouse.Storage behaviour found in lib/caddishouse/storage/storage.ex.

You must then add the following to the config:

config :caddishouse,
  storage_api: Your.Storage.Module

Adding/removing providers (TODO)

This configuration has yet to be implemented.

Set-up Minio

# For MacOSX
$ brew install --cask docker 

$ docker run \
           -p 9000:9000 \
           -p 9001:9001 \
           -e "MINIO_ROOT_USER=admin" \
           -e "MINIO_ROOT_PASSWORD=admin" \
           quay.io/minio/minio server /data --console-address ":9001"

Access http://localhost:9001/buckets, create a bucket called uploads. Go to http://localhost:9001/identity/account, create a service account.

See Configuration.

Gotchas

When committing, I get an error that there are dependencies that are out of sync.

Run the following: mix git_hooks.install

Credits

Primarily developed by Alex Fraiha (Fraih001) and aef-.

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory