hr-memories / tagme Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Mandatory user stories:
Other things:
Design mocks here: https://invis.io/BN93WOO9R#/200493362_Mobile_Portrait
Open questions:
[ ] Development database for server-side integration tests
Resources:
Mandatory user stories:
[X] Should check for JWT
[X] Unauthorized requests should return a 404
[X] Should return JSON object representing memory, including analyses and tags
Other things:
Open questions:
Mandatory requirements:
[X] Should check for JWT
[X] If user is not authorized, return 404
[X] Takes a photo, uploads it to the CDN
[X] Does analysis using relevant Microsoft APIs
[X] Does analysis using other relevant APIs
[X] After analysis, creates a document in MongoDB representing the memory and relevant analyses
[X] Returns a unique ID pertaining to the memory
Other things:
Open questions:
Mandatory user stories:
[X] Should check for JWT
[X] If current user is not authenticated, should return a 401 with no results
[X] Should retrieve memories linked with current user's ID and return as a JSON object with a structure
Other things:
Open questions:
Mandatory stories:
[X] Calling /api/login with a POST request should check whether that user exists, then whether their password matches their supplied password
[X] If successful return 201
[X] Else, reject and return 401?
Other things:
Open questions:
Interesting features:
Cleanup:
Mandatory user stories:
[X] Should be able to add images
[X] Should be accessible from server and client layers
Other things:
-According to exponent docs, exponent automatically stores our assets (eg. our icon) to a cdn https://docs.getexponent.com/versions/v10.0.0/guides/assets.html
Open questions:
[X] Decide on web tokens, facebook authentication, or something else
[X] Store JWT on client side and return with every request
[X] On server side, check for JWT before processing each request
[X] Don't allow access to a page if there is no webtoken in asynch storage
[X] Store the jwt secret and database credentials in config file rather than hard-coded
Resources:
https://auth0.com/blog/adding-authentication-to-react-native-using-jwt/
https://dzone.com/articles/adding-authentication-to-your-react-native-app-usi-1
https://github.com/adamjmcgrath/react-native-simple-auth
https://github.com/ryanmcdermott/react-native-login
https://github.com/lussatech/react-native-base-authentication
User stories:
Other things:
Open questions:
Mandatory user stories:
[X] Server layer should be hosted on hosting site
[X] Should have easy mechanism to deploy latest code to production
[X] Something should host database
Other things:
Open questions:
Mandatory stories:
[X] As a new user, I want to be able to sign up for this service
[X] As an existing user, I want to be able to sign in to my account
[X] As an authenticated user, I want to automatically see my home screen
Other notes:
Open questions:
Mandatory user stories:
[ ] As a frontend dev, I expect an /api/login endpoint
[ ] As a frontend dev, I expect an /api/signup endpoint
[ ] As a frontend dev, I expect an /api/upload endpoint
[ ] As a frontend dev, I expect an /api/memories endpoint
[ ] As a frontend dev, I expect an /api/memory/id/ endpoint
Other notes:
Open questions:
Mandatory stories:
[X] Calling /api/signup with a POST request should create a new user
[X] If the supplied username already exists, return a 401 error
[X] Successfully creating the user should return a 201
Other things:
Open questions:
Mandatory stories:
[X] As a user, I want to be able to navigate to the page to upload photos
[X] As a user, I want to be able to navigate to the page to see memories
[x] As a user, I want to be able to log out. Logging out will take me back to the login/signup screen
Other notes:
Open questions:
User stories:
(Copied from Learn page)
Other things:
Copy over and fill in the following files from https://github.com/hackreactor/2016-09-greenfield (further description on Learn page):
Mandatory user stories:
[X] As a user, I should see all the memories that I've uploaded
[X] As a user, I should be able to click on any memory to see memory details
[X] As a user, I should be able to navigate back to the homepage
Other things:
Open questions:
Mandatory user stories:
[X] Should be accessible from server
[X] Should be always-on
[X] Mongoose should have schemas for Users, Memories
[X] Set up mongoDB on heroku!! (recommendation from seniors to avoid conflicts between having separate databases)
Other things:
Open questions:
Mandatory users stories:
[x] As a user, I want to be able to give my permission to access my stored photos
[x] As a user, I want to be able to select a photo from my camera roll / album
[X] As a user, selecting a photo will take me to the memory details page
Other notes:
-To upload, we can try this npm module: https://www.npmjs.com/package/react-native-uploader
-https://books.google.com/books?id=t74fCwAAQBAJ&pg=PT171&lpg=PT171&dq=react+native+send+photo+to+server+ios&source=bl&ots=xdBAZ2pHbT&sig=E3g0kdLtHs0UjI9hVZ5Y0lQL8xM&hl=en&sa=X&ved=0ahUKEwjOqYGxtPbPAhVhylQKHTrpBE8Q6AEISDAH#v=onepage&q=react%20native%20send%20photo%20to%20server%20ios&f=false
Open questions:
Mandatory tasks:
[X] Express app
[X] NPM init
[X] Task runner / automation system
[X] Connection with remote database
Other things:
Open questions:
Mandatory user stories:
Other things:
Bill's initial mocks
Open questions:
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.