Instagraff is a social network and image sharing platform based on Instagram. The front end components are built on React.js and Redux architecture, while PostgreSQL and Rails fill out the lower levels of the stack. Instagraff integrates with Amazon Web Services to host uploaded images.
Secure authentication uses hashing function BCrypt to manage passwords securely and prevent storing plaintext user passwords in database. Certain pages are protected and cannot be viewed by users without sign in. Users are allowed to remove their own photos or comments.
Users have a profile where you can see their info and photos. Profile page displays statistics on the users posts and follows / followers. Users feature a changeable profile picture and editable personal info / biography displayed on their profile.
Users may follow and be followed by other users. Photos posted by users you follow are displayed in your feed on the main page.
Users can create photo posts by uploading images directly from their computer or phone. Instagraff uses S3 provided by Amazon Web Services to store and host images. RESTful routing is implemented to map HTTP requests to backend CRUD operations.
Photos can be displayed in a variety of ways, including a photo feed, an individual photo show page / modal, and a thumbnail view for overviewing many different photos at once.
Photos feature both likes and comments. On the display page and profile page the comment and like count are displayed on hover.
The comments will render within in a view more menu if the number of comments would interrupt the flow of the photo feed. Users can edit or remove their own comments as well as comments posted on photos they authored, but otherwise cannot alter other user comments.
Instagraff resizes elements to fit different devices, and features seperate styles optimized for desktop view and mobile view. Both mobile and desktop users can enjoy the full suite of instagraff functionality including uploading and easily viewing photos, using front end components designed with scalability in mind.