Alekzanther / motiv

Perhaps, some day, the best gallery for your family and friends

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI

MOTIV

Timeline screenshot A place for your family photos and videos... Some day!

State

  • Serves SPAs
  • Talks GraphQL
  • Stores in postgres
  • Caches images to WebP (ultra lightweight?)
  • Doesn't crash
  • Lots of low hanging fruits...

Quickstart demo

  1. Make sure your system has make, docker, and docker-compose
  2. Run make demo from the root of the project and you'll have a demo environment up and running with some sample data

Frontend-only Development Prerequisites

  • make
  • docker + docker-compose
  • yarn
  • node

Frontend-only Build & Run

  1. make demo
  2. Go into the frontend/react folder
  3. yarn install
  4. yarn start

Fullstack Development Prerequisites

The following is a list of all things required to develop within all parts of motiv.

  • docker + docker-compose
  • yarn
  • node
  • rust
  • diesel_cli
  • postgres client library (required for compilation apparently)

Fullstack Build & Run

make setup-dev-env does the following:

  1. fetches sample data to the backend folder
  2. sets up a postgres instance via docker
  3. sets up a sample motiv.toml config file (backend folder)
  4. builds the frontend (default react, yarn) and backend (rust)

After all those steps have completed, make run will go into the backend folder and run the server.

You should now be able to visit the (default react) frontend at localhost:5000. There's a graphql-viewer at /graphql as well.

Acknowledgements

Special thanks to @lucperkins and his repository at https://github.com/lucperkins/rust-graphql-juniper-actix-diesel-postgres

About

Perhaps, some day, the best gallery for your family and friends

License:GNU Affero General Public License v3.0


Languages

Language:Rust 47.1%Language:TypeScript 40.7%Language:Makefile 3.0%Language:HTML 2.4%Language:JavaScript 2.0%Language:Shell 1.5%Language:PLpgSQL 1.3%Language:Dockerfile 1.3%Language:CSS 0.5%