Skip to content

Repository files navigation

picsumvision

picsumvision.mahanna.dev (app might be sleeping, just refresh if Railway page shows up)

An image repository allowing you to:

  1. Search for images by keyword or URL
  2. Discover images similar to click history
  3. Visualize results as a graph network

Built with Lorem Picsum Photos, Google Vision, and ArangoDB 🥑

This project was submitted for the Summer 2021 Shopify Intern Developer Challenge. If you would like to see the state of the project as of the submission date, you can rollback to the following commit: 53e84e8

Developer Setup (est time: 8 minutes)

Note: You can replace yarn with npm run.

  1. git clone https://github.com/aMahanna/picsumvision.git
  2. cd picsumvision
  3. cp .env.example .env
  4. yarn setup
  5. python -m venv .venv
  6. Activate Virtual Environment
    1. MacOS / Linux: source .venv/bin/activate
    2. Windows: .venv\Scripts\activate
  7. pip install -e '.[dev]'
  8. docker compose up -d
  9. yarn db:onboard
  10. Import Picsum Vision Data
    1. Via data restore: yarn db:restore
    2. Via data insert: yarn db:populate
      1. Note: requires GOOGLE_APPLICATION_CREDENTIALS key
  11. yarn dev

Deployment

Deploy to Railway for free (with $5/month credits):

  1. Fork/Clone this repository
  2. Sign up at railway.app
  3. Create project → Deploy from GitHub repo
  4. Add ArangoDB as a separate service (Docker: arangodb/arangodb:3.12)
  5. Set environment variables (see DEPLOYMENT.md)
  6. Initialize database: railway run python scripts/onboard.py
  7. Import data: railway run python scripts/restore.py

📖 Detailed deployment guide: See DEPLOYMENT.md

About

image discovery via graph traversals and full-text-search

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages