Reddit Clone is a project in Make School's Backend 1-2. By utilizing relationships, a large variety of tasks can be implemented. This can be cloned and transformed into other websites that might use a similar routing system.
See the tutorial: Make School
- Node.js
- BCrypt.js
- Express.js
- Express Handlebars
- Express Validator
- Body Parser
- Server Architecture:
- MongoDB
- Mongoose
- Robo 3T
- Testing:
- Chai
- Mocha
- Start Templating
- Add & connect Handlebars
- Add Navbar
- Add a logo that links to home
- Add an h1 that links to home
- Add a CTA button that links to new-flare
- (stretch) Recolor the theme to match FlameWarz' style
- Complete
CRUD
of SubFlames-
index
View a list of all subflames- Navigate to view all the flares of the same subflame
-
new
View subflame creation page -
create
Actionably create a subflame- Add a subflame attribute to our flare resource
- (stretch) Make its ID a hyphen-deliminated string based on its title
-
show
View a single subflame in detail - (stretch)
edit
View subflame update-content page - (stretch)
update
Actionably update a subflame - (stretch)
destroy
Actionably delete a subflame
-
- Complete
CRUD
of Flares-
index
View a list of all flares (on currentshow
subflame)- Make the index route @
/flares
go to theflares-index
route - Render a flares-index template @
/flares
- Loop over the flares object
- See what subflame each flare is on
- Make the index route @
-
new
View flare creation page- Make a flares#new route (/flares/new) and template (flares-new.hbs)
- Add form to flares-new template
- See each existing subflame, and choose one
- (stretch) Able to search for a subflame
- (stretch) If you create a flare from a subflame, it is automatically entered
-
create
Actionably create a flare- Make create flares route and check that form data is sending to new route
- Add Post model with mongoose
- Confirm flares are saving to database
- (stretch) Error Handling for missing fields
-
show
View a single flare in detail- Make route to
flares#show
route/flares/:id
- display the flare object
- See & Link the SubFlame
- Make route to
- (stretch)
edit
View flare update-content page - (stretch)
update
Actionably update a flare - (stretch)
destroy
Actionably delete a flare
-
- Complete
CRUD
of Embers-
index
View a list of all embers (on currentshow
flare) -
new
View ember creation box (on currentshow
flare) -
create
Actionably create a ember (on currentshow
flare) - (stretch)
show
View a single ember in detail- (stretch) Can you show one comment in detail?
- (stretch)
edit
View ember update-content box (on currentshow
flare) - (stretch)
update
Actionably update a ember (on currentshow
flare) - (stretch)
destroy
Actionably delete a ember (on currentshow
flare)
-
- Sign Up & Log In (
CRUD
of Pyros)- (stretch)
index
View a list of all pyromancers -
new
View pyromancer creation page (sign up) -
create
Actionably create a pyromancer (sign up)- use bcrypt.js to encrypt passwords
- (stretch)
show
View a single pyromancer in detail- Can you make an author's username a link that displays that users's profile at
/users/:username
? - Can you make a
/profile
route that loads the current user and displays their posts and comments?
- Can you make an author's username a link that displays that users's profile at
- (stretch)
edit
View pyromancer update-content page - (stretch)
update
Actionably update a pyromancer - (stretch)
destroy
Actionably delete a pyromancer -
sign in
- (stretch) Require a password confirmation field.
- (stretch) Plan out how you would do a 'forget password' process.
-
sign out
- (stretch) Add a Remember Me checkbox
- What is the difference from when it is checked or not?
- (stretch) Add a Remember Me checkbox
- (stretch)
- Testing
- Test suite for
auth.js
& pyros - (stretch) Test suite for
subflames.js
- (stretch) Test suite for
flares.js
- (stretch) Test flares#create
- (stretch) Test inability to create flares if not logged in
- (stretch) Test suite for
embers.js
- Test suite for
- Connect embers, flares, and subflames
- Each subflame has one parent document
- Each subflame has many flares
- Each flare has one subflame
- Each flare has many embers
- Each ember has one flare
- (stretch) Each ember has many embers.
- Associate flares, embers, and votes with their author
- Each author has many embers
- Each ember has one author
- Each author has many flares
- Each flare has one author
-
update
Vote a flare up or down -
update
Vote a ember up or down - (stretch) Search Functionality