#Picllery A single page, mobile responsive web app that allows you to:
- upload and display photos
- with geolocations & likes
- in a public or private gallery
- on your user profile.
##To Run:
- Make sure you have Node and npm installed.
- Install, setup postgreSQL if you haven't already:
$ brew install postgresql
$ initdb /usr/local/var/postgres -E utf8
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
or if on ubuntu:
$ sudo apt-get install postgresql postgresql-contrib
- Create database named "picllery", db user and password:
$ createdb picllery
$ createuser [user]
$ psql picllery
picllery=> alter user [user] password [password];
picllery=> grant all on all tables in schema public to [user];
picllery=> \q
- Clone the repo:
$ git clone git@github.com:Tiffachow/Picllery.git picllery
$ cd picllery
- Install the app:
$ npm install
- Set environment variables in setup.env file, then
$ source setup.env
- Setup tables:
$ npm run-script setup
- Start the server:
$ npm start
- View in your browser at
http://localhost:9000
##Tech
- API / Web Framework: Node.js / Express.js
- Database: PostgreSQL
- Authentication Middleware: Mozilla's client-sessions
- Image Storage: Amazon S3
- MV* JS Framework: AngularJS
- File Upload: ng-file-upload library by Danial Farid
- Password Hashing: bcrypt library
- Styles Preprocessor: LESS
- Responsive Framework: Bootstrap
- Google Maps API
##Features
- CRUD User Profiles with Image Gallery
- CRUD Pics with Private and Public Options
- Picture Locations, Pin Maps
- Picture Likes
###Todo
- Crop Img Library
###Recently Done
- added authentication, updated API, updated readme, added angular directives
- added mobile nav, added more responsiveness to pgs
- added API routes for delete profile, update profile, post new picture, update picture, delete picture, updated angular ajax requests
- updated profile routes, templated and styled profile pg, updated edit and delete profile requests and routes, added upload picture form, request and route, added map with pins to home pg
- styled profile pg, added map to profile, revised post profile route and success callback, added login/logout logic and route, fixed edit and delete profile routes, made header more responsive, edited db column constraints, fixed login route
- changed home & profile styling, used angular file upload library with post upload to Amazon S3, wrote request to save pics to db, rewrote submit profile and edit profile requests and routes to accomodate library
- fixed bugs with logout, fixed map markers and positioning
- added likes functionality, update and delete picture requests and routes and angular logic, added view likes and pics functionality on homepg, cancel option on forms
- updated cancel functions for different forms, added sure? prompt before deletes, added preview and prof pic placeholder imgs, added pic option toggling for better viewing, hashed passwords with bcrypt library, simplified login and create profile routes and responses
- simplified edit profile route and response, cleaned up cancel functions, updated delete functions, added pic expansion option, replaced private input checkbox with angular bootstrap ui button-checkbox, fixed create & edit prof bugs when no prof pic inputted
- moved module and controller code to main.js file