Breakthrough Server-Side Project

Woah! You've learned so much about express, databases, and apis. Instead of consuming another api though, you're going to get the chance to build your own! Woo! 🤘🏾

Project Description

You will be task with building an Express API to be consumed by a Front-end client.

Scope and Project Requirements

You will have the rest of today (Wednesday, March 24th), Thursday, Friday, and the weekend. That time will fly by! We know many of you are ambitous, but given the time constraints, this is what we want you to build:

  • An Express API with 2 or 3 database models (tables).
  • Your tables must have a relationship with each other.
  • You should have full CRUD on at least 1 of your models.
  • Your server should have RESTful routes that execute logic and return JSON data.
  • And if time permits, a Front-End UI using Express views or React.

Examples

You can build Instagram (users and photos) where a user has many photos and a photo belongs to a user. You can view all the photos by a particiular user or have a "Discover" page that shows random photos.

You can build Reddit (users, posts, comments) where a user writes posts, a posts has many comments, and a post and a comment belongs to a user.

You can build an Animal Shelter app that matchers adopters with potential pets. An adopter might be matched with many pets and a pet might even be matched to many adopters.

The possibilities are endless, but keep in mind a reasonable scope for this project.

WHY

  • Chance to practice and solidfy this unit's materials.
  • In preparation for your Demo Day projects at the end of the fellowship.
  • To have fun!

Guidelines

Because this unit was called Server-Side Development, we want you to focus on building the back-end API. As such, you should complete the MVP (minimum viable product) of your backend before developing the front-end.

Step 1. Plan Out Your Project Schema

  • An ERD is required
  • Project must have 2 or 3 models/entities
  • Tables must be related via foreign key and primary key
  • ERD must be approved by an instructor before any coding begins

Step 2. Build Out the Back-end

  • Create database migratations
  • Build RESTful API routes that return data in a JSON format
  • Only 1 model needs to have full CRUD
  • Code must be encapsulated into classes
  • Use POSTMAN to test your routes

Step 3. Build Out the Front-end (UI of your choice)

  • Express Views
  • React

Step 4. Stretch features

  • Auth
  • Additional models
  • Any other rabit hole