mbudm / fotopia-serverless Goto Github PK
View Code? Open in Web Editor NEWAn API, storage and face detection for a photo archive web app using serverless framework
An API, storage and face detection for a photo archive web app using serverless framework
Need a node.js api to replicate what amplify does in the client for functional testing (and bulk uploader). Or, apply solutions mentioned in an aws amplify issue claiming that the library works in node.js with a polyfill for DOM globals
The put indexes lambda is invoked by the streams lambda that is triggered by dynamodb creates, update and removes.
Occasionally two events occur simultaneously (within a few 100ms of each other) and they get the same existing state and write a new state. Not a big deal at small scale but will become a bigger issue (and before I'm ready to implement proper search indexes.
So the additon of an SQS resource should do the trick - force each put index to complete before the next one is tackled. And/or use a dynamodb table for faster get/put.
Separate the stack currently defined in one serverless.yml file into db, s3, api and cognito.
This allows for more control over what is deployed when but it also introduces complexity with coordinating release of components.
Related to #1
Currently when bulk uploading around 300 images the person categorisation ends up with multiples of the same person - more if it's a baby/child.
I think there may be a clever way to use the face matches of all faces in person A to see if there is a certain level of similarity to the face matches of all faces in person B.
This could be a cron job lambda. It could prompt the user to merge people or if above a certain confidence level, do it automagically in the background.
Delete a person, and:
Sometimes you need to redeploy - eg if you tweak any of the dynamodb indexes. This means all the data in the db and S3 buckets are gone.
Need a way to handle migration when the stack is recreated.
Breaking up serverless.yml will help, as there's more control over what gets removed and re deployed - but this might still be a need
The ability to share an image publicly
Need to automate deletion of the AWS Rekognition collection as part of a redeploy.
Modify the query API to default to return paginated records - with some limit of say 50 or 100 results.
Or leave as is and expect the client to default to time limited (month?) search?
Probably both.
Choose a different thumbnail image for the person. Currently it just uses the face id of the first image found.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.