- npm install
- bundle install
- webpack -w
- rake db:create
- rake db:migrate
- rake db:seed
Foodium is a recipe site inspired by Medium that cleanly displays recipes for cooks and lets them engage with the community through following and liking.
By the end of Week 9, this app will, at a minimum, satisfy the following criteria:
- Hosting on Heroku
- New account creation, login, and guest/demo login
- A production README, replacing this README
- Images hosted on a CDN (Cloudinary) for faster retrieval
- Static images on cloudinary
- Using Cloudinary API for upload
- Recipes
- Smooth, bug-free navigation
- Adequate seed data to demonstrate the site's features
- Adequate CSS styling
- Comments for recipes
- Smooth, bug-free navigation
- Adequate seed data to demonstrate the site's features
- Adequate CSS styling
- Rich Text Editing of recipes
- Smooth, bug-free navigation
- Adequate CSS styling
- Liking of recipes
- Smooth, bug-free navigation
- Adequate seed data to demonstrate the site's features
- Adequate CSS styling
Objective: Functioning rails project with Authentication
- create new project
- create
User
model - authentication
- user signup/signin pages
- blank landing page after signin
added
- deal with errors in login/signup
- greeting in header
- bootstrap current user
- modal for login/signup
- modal is different for login/signup options
- modal closes on success
- seed database with guest account
- seed database with user accounts
- guest login option
- protect front end routes
- install figaro
- set up cloudinary for images
- add intro box for logged out users
- heroku
- get site on heroku
- point domain to heroku
Objective: Recipes can be created, read, edited and destroyed through the API. Â
- create
Recipe
model - CRUD API for recipes (
RecipesController
) - jBuilder views for recipes index and detail
- seed the database with a small amount of test data
- set up Webpack & Flux scaffold
- set up
APIUtil
to interact with the API - test out API interaction in the console.
added
- set up RecipeActions and RecipeStore
- test RecipeActions and RecipeStore in console
- big box only shows up on index page
Objective: Recipes can be created, read, edited and destroyed with the user interface.
- set up the flux loop with skeleton files
- set up React Router
- implement each recipe component, building out the flux loop as needed.
-
RecipeIndexItem
-
RecipesIndex
-
RecipeForm
-
- save images to Recipes with Cloudinary
Objective: Existing pages (including signup/signin) will look good.
- create a basic style guide
- position elements on the page
- add basic colors & styles
- ask for feedback when done
objective: Enable comments with a nice editor.
- create
Comment
model - API endpoints
- added
- tested
- actions and stores
- added
- tested
- Integrate
draft-js
- Use Rails helpers to sanitize HTML before rendering.
- Style the new draft-js elements.
objective: Make the site feel more cohesive and awesome.
- create 'Like' model
- API endpoints
- added
- tested
- actions and stores
- added
- tested
- Get feedback on my UI from others
- Refactor HTML classes & CSS rules
- Add modals, transitions, and other styling flourishes.
- Re-evaluate styling with comments added
Objective: Recipes can be tagged with multiple tags, and tags are searchable.
- create
Tag
model andTagging
join table -
Tagging
- API endpoints
- API util
- actions
- stores
-
Tag
- build out API, Flux loop, and components for:
- fetching tags for recipe
- adding tags to recipe
- searching recipes by tag
- Style new elements
objective: Add sidebar for groups of recipes
- Flesh out feed with sidebar
- Display top 3 of each tag
- auto-save recipes to desktop after timeout
- Break instructions into individual steps for styling
- Break ingredients into individual items
- save Recipes to the DB when the form loses focus or is left idle after editing.
- Follow tags for customized feed
- Follow users for customized feed
- Pagination / infinite scroll for Recipes Index