Coder Social home page Coder Social logo

etimo / photo-garden Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 8.8 MB

An easy way for anyone to get an overview of a large amount of photos from different vendors and sources. ๐Ÿ“ท ๐Ÿ–ผ๏ธ

Home Page: https://photo.garden

License: MIT License

JavaScript 70.14% Shell 1.83% HTML 5.24% CSS 14.15% Nix 8.41% Dockerfile 0.23%
computer-vision google-drive photo-gallery photos saas

photo-garden's People

Contributors

etimooscarnylander avatar indrif avatar ivarconr avatar jakobhuss avatar jassyrbravo avatar jens-peterolsson avatar joakim-olesen avatar nightkr avatar r0tenur avatar sirscratchalot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ivarconr

photo-garden's Issues

User api

  • Create users
  • Connect users to providers
  • Get user from provider id

Integrate services

  • Integrate frontend with photos-api.
  • Consume queue and store in db for photos-api.

How to structure future services?

I and @teozkr discussed this a bit today, would be nice to bring this up for a larger discussion on friday.

Should we continue developing micro/nanoservices or should we aim for "domain"-grouped larger services? What is the difficulty/benefit of the different strategies?

What will need scaling? E.g. downloading of images vs normalizing data structures?

How to scale? Or simply, do we think about scaling atm?
Do we aim to scale services by number of workers or by hardware? Perhaps different for different services? How about lambda or similar instead?

How can we manage a fast and clean development environment without current problems (compilation time, dependencies, overhead in docker images)?

How small should services be?
At the current level the number of services will explode in the future. This gives a large overhead in docker images, deployment handling, etc etc

Just writing down some of the thoughts we discussed. Feel free to add more to this issue before friday

Pre-study

Check out launch darkly etc. but prefer open source. Prefer not to build custom solution...

Queue

We are going to need a queue (for example to process metadata from providers, analyze images and so on, general persistent async operations).

Rabbitmq or some other? I know some of us have worked with rabbitmq. This could also be abstracted if we decide later on to change it.

More persistent pub-sub

Current problem: When using pub-sub in rabbitmq, the messages are only delivered if the subscriber is currently connected.

What we need: When using pub-sub and the subscriber is not connect (perhaps it has crashed) then it should receive the messages when it goes online. The subscriber needs to get all messages since it started subscribing (not since beginning of time).

Store imported images

Some images and thumbnails (e.g. from google drive) are short-lived. We need to download them and store them. This will also apply to a lot of other providers (e.g. dropbox that doesn't even provide thumbnails)

API Gateway

Some thoughts from the subway: Should we have one unified API Gateway for the project, and as such letting this API Gayeway be the only API exposed to the internet?

I'm sure you've worked with API Gateways before, and understand their purpose. This will also be relevant in how we set up things like DNS later, so we should determine whether we want one early.

If we decide to create one, we need to:

  • Set up a milestone for the API Gateway
  • Set up issue for various subtasks related to the API Gateway

Improve structure and management of dependencies

Problems:

  • Different package.json with overlapping dependencies
  • Tooling that is required by more than one service in dev (e.g. nodemon, mocha etc)
  • Dependencies between packages and services (e.g. common code for queue handling and feature flags both require certain dependencies in package.json)

Proposed solution:

Possible cons:

  • Only allows npm and node projects in workspace. Perhaps other projects can be added but they will not be handled by yarn. Will this be an issue or will we continue developing in node/js?

Show photos on map

Arbitrary place definition; e.g. city, geo rect, country. Whatever fits and is easy to implement

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.