Skip to content

Pixel is a photo-sharing application built on PostgreSQL, Express.js, React, and Redux.

Notifications You must be signed in to change notification settings

gavinfitch/Pixel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

159 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pixel

Pixel at a glance

Pixel is a photo-sharing application built on PostgreSQL, Express.js, React, and Redux. Logged in users can upload, view, edit, and delete photos. They can also create, view, edit, and delete albums. Users can add and remove photos from their albums by clicking the plus(+) and minus(-) symbols on the top right corner of their photos, as well as view the photos of other users via the "Your feed" tab. The photostream tab allows users to view only their own photos, and the albums tab allows users to view their own albums. By clicking on the thumbnail of album a user can views the contents of that album, and by clicking on the thumbnail of a photo a user can view a full screen version of the photo, as well as who it was posted by. Pixel was heavily inspired by Flickr and is meant to be seen as a loose clone.

Splash page -

Splash page

Sign-up form -

Sign-up form

Home view -

Home view

Fullscreen photo view -

Fullscreen photo view

Photo upload form -

Photo upload form

Empty photostream -

Empty photostream

Album view -

Album view

Application Architecture

Pixel is built with an Express backend, a JavaScript/React frontend, and a PostgreSQL database. Sequelize was used to interface Exoress with the database. AWS is used for all storage of user uploaded files, and the React-AWS-S3 module is used for communication between React and the S3 bucket.

Backend Overview

Pixel uses Sequelize to interface Express with the PostgreSQL database. All user files are uploaded to an S3 bucket, AWS then sends back the location of the files to the backend, where they are stored, along with any other relevant information, in the database. Bcrypt is used for user authentication.

Backend technologies include Express.js, Sequelize, PostgreSQL, AWS S3, and Bcrypt.

Frontend Overview

Pixel has a very simple frontend built around React and Redux. The majority of its logic lies in the backend and a well organized and thoughtout Redux store allows for minimal fetch requests to display needed data.

Frontend technologies include React, Redux, and React-AWS-S3.

Conclusion and next steps

Moving forward I'd like to build out the application with user profiles and the ability for users to leave comments, like each other's photos, and follow each other.

About

Pixel is a photo-sharing application built on PostgreSQL, Express.js, React, and Redux.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors