A multi-user photo upload site built in rails.
This example is intended to demonstrate:
- Making small, purposeful commits
- Using feature-tests to shape your codebase
- Regular refactoring to the 4 rules of simple design (Taken a bit to an extreme)
Each feature is linked to a pull request which adds the feature. Every commit explains my reasoning in (some level of) detail. I'd recommend reading the pull requests oldest to newest, commit by commit, both messages and code.
- A guest may register as a
User
PR - A
User
may upload aPicture
PR - A
User
may see a list of theirPicture
s PR - A guest may not find a
User
sPicture
PR - A guest may view a
User
sPicture
if they are given a secret read-only link. PR
- A
User
may create aGallery
- A
User
may add one of theirPicture
s to aGallery
- A guest may not find a
User
sGallery
- A guest may view a
User
sGallery
if they are given a secret read-only link.
- A
User
may make aGallery
public - A guest may browse public
Gallery
s
- A guest may suggest a
Tag
for a publicPicture
- A
User
may approve aTag
for a publicPicture
- A guest may browse public
Picture
s byTag
- A guest may search public
Gallery
s forPicture
s
Once you've forked and cloned this repo, you'll want to:
- Configure AWS
- Configure S3
- Launch the app:
bundle install rake db:setup rake rails s