kmeyerhofer / photo-share Goto Github PK
View Code? Open in Web Editor NEWAn encrypted photo sharing service.
Home Page: https://filencrypt.site
An encrypted photo sharing service.
Home Page: https://filencrypt.site
create a master download button that will zip all of the files together
.png
, .jpg
/.jpeg
, .gif
, etc... we'll render it as an <Image />
component.mkv
, .mov
, .webm
, .mp4
, etc... we'll render it as a <Video />
component.txt
, .text
, we'll render it as a <Text />
componentYou get the idea. Video might be out of the question for now, due to storage limits...
Display to the user when the application is loading information. Essentially, keep the user in the loop of what's going on during the application.
Ideas for the things It could display:
Encrypting files...
/ Decrypting files...
Uploading files...
/ Downloading files...
It could occur on these instances of the application:
The action of a user uploading one/many files needs to transfer the files to the photo-share/tmp
folder (for now).
Write tests to ensure proper code functionality.
Test:
Line 84 of fileList.js
could have the URL passed in from the parent Router
component.
If the password is incorrect for decryption, there is an error thrown in extractMIMEType complaining mime is null
.
Standardize way to display or show error messages, mostly from Meteor Method callbacks.
Once the files are uploaded and displayed, the randomly generated page could have areas for sharing the link to others, such as email, and possible social media integration. We could have the application email entered addresses (separated by a comma) with the link to the URL.
Handle the case where a user enters the incorrect decryption phrase. There is an error displaying currently when this happens.
InvalidCharacterError: String contains an invalid character
from file.js:
, base64StringToBlob()
We need a dynamic URL router which can check the database for the url
key then loading up any files to the client.
If no string is found, return a 404 response code.
When a valid URL with files is accessed, decryption needs to take place on the client side to then view the files.
If you try to access /testingurl
or any other URl not in the database, the password decryption form shows up but nothing displays if you enter a password.
We need some sort of error handling & re-routing back to the root path.
All comments are loaded and displayed to the user while the decryption process runs, even if the password is incorrect. We need a way to render the comments only after the files have been decrypted.
Set the location of where we are to store our files on the server with an environmental variable.
E.g. PHOTO_SHARE_DIR=/home/photo-share/files
Allows us to more easily controll where the files are to be saved on the server when deployed.
each image file can have multiple anonymous or named comments.
Limit the filesize of each file uploaded to a max of 5MB? 10MB? Something reasonable for a larger picture/gif.
Utilize the escape(input)
method from this package to escape character from user comments.
A user can add a blank comment on a file.
Throw an error when both the author
and comment
are blank.
The styling for the file limitation text (* Images only) displays funny on small screens. Make so it doesn't overflow the parent flexbox.
A download button for each file AND for all files (which zips all files).
When a user clicks on an image, go into a "modal" type mode with Left and Right arrows to scroll to the next images.
In imports/components/upload.js
, the method saveFileToDB
should be called with a Meteor.call('function')
instead of client-side database writing, to protect the database.
use SASS
Use information loaded from MongoDB to send files to the client. Utilize Meteor-Files
package for downloading.
The files will then be decrypted in a future issue.
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.