Overview of needed functionality:
Users can create an account in the app. The account will need the following information:
a) Name
b) Email address
c) Cell phone number
d) A password (the password should be hashed for security reasons)
After the user creates an account, the user can send an email to the app. It can be a traditional email, or an email sent via text messaging (e.g., In the United States, I can send a text message to an email account and it will arrive as an email to that account). The email will have three parts:
a) An attached images
b) A password on the first line
c) An optional caption for the image on the second line
The app will monitor for emails, when one comes in, it will do the following:
1. It will see who the email is coming from (what email address or phone number). Let’s refer to this as the username.
2. It will read the password
3. It will see if the username and password exist and match what we store in our database (when they created an account)
4. If a match is detected, the app will extract the image and store it in the blobstore
5. The app will also call the getServingURL on the image in the blobstore to get a serving url.
6. The app will store a) the blobstore ID, b) the Serving URL, and c) the date/time in the datastore. This record MUST be tied to a user. A user can be associated with many records (blobstore ID, Serving URL, and data time instancse)
A user can login and view the images associated with their account. They can:
a) Delete an image
b) Edit/add/delete an image caption
c) Upload a new image with a caption (which would go through the same process as if an email was sent to the app via email).
A user can login to change their email address, phone number, or password.
Java is the preferred language.
A satisfied client is like a million dollar smile for us, we believe in quality work,
a 10 years old company with 7+years of experience in designing and development,
WE know the value of money and we ll look at it that you get all the benefit of the money paid.
plz find PMB for more details.