Bootcamp
Search
K

3.P: Full-Stack App (Express)

Introduction

Build an app that solves a problem you have using React and Express. Feel free to also use any 3rd-party libraries, Firebase features, or other technologies. This project can be done individually or in a group.

Requirements

App

  1. 1.
    React App with CRA
  2. 2.
    Express API server that processes GET and POST requests
  3. 3.
    PostgreSQL DB to store data
  4. 4.
    Sequelize ORM to interface between API server and DB
  5. 5.
    At least 1 1-M and 1 M-M SQL relationship in DB schema
  6. 6.
    Seed data in DB seed migrations
  7. 7.
    JWT authentication for user login

Other

  1. 1.
    Frontend deployed with provider of your choice (e.g. GitHub Pages, Firebase Hosting, Netlify)
  2. 2.
    Backend deployed with fly.io
  3. 3.
    Naming, casing and commenting best practices
  4. 4.
    Git commits for each feature with descriptive commit messages
  5. 5.
    App description in README with user stories and low-fidelity wireframes
  6. 6.
    Instructions in README to run app

Ideas

As always, try to solve a problem you have. Now that we know SQL, what ideas require stricter data integrity that SQL would be helpful for? Our ideas need not be novel; they primarily need to demonstrate our ability to code well.
Ideas from past Rocket exercises: Meal tracker, workout tracker, reservation tracker, travel planner, art catalogue, bug reporting dashboard, reading list, car rental platform.

Timeline

Project Day
Checkpoint
Feedback
0
Ideation phase 1
Post project ideas in Slack for feedback
SL to review ideas and share feedback
1
Ideation phase 2 Create planning docs: user stories, wireframes, kanban board
SL to review planning docs and share feedback
2
Start implementation
-
3
-
-
4
-
-
5
MVP deadline Users can complete the primary user story
SL to review code in GitHub, share feedback
6
-
-
7
Feature freeze
No new features, focus on polishing existing features and code to be presentable
SL to review progress and share post-feature-freeze suggestions
8
-
-
9
Project presentations
Practise explaining your work to others. Other batches will join and we will celebrate each others' hard work.
SL to review code in GitHub, share feedback in 30-minute post-mortem meeting
10
Demo video Record a demo video for employers and the public, embed in README

Setup

Start by forking Rocket's Bootcamp Project 3 frontend and backend repos that contain an empty CRA app and an empty Express app respectively. This will make it easier for SLs to review your code via pull requests.
To set up Sequelize in your backend repo, you may find Rocket's Sequelize Setup instructions helpful from Module 3's Bigfoot SQL exercise.
To enable frontend and backend servers to communicate with each other, you may wish to set up CORS middleware in our Express app as described in the Express.js submodule.

Deployment

Rocket recommends deploying our frontend to either Netlify or Firebase Hosting because they allow for client-side routing by React Router, unlike GitHub Pages.
Rocket recommends deploying our backend to Fly.io because Fly provides an easy way to deploy servers to the cloud and connect with a managed PostgreSQL instance.
See Bigfoot SQL M-M exercise for detailed deployment instructions for Netlify and Fly.io.

Submission

  1. 1.
    Submit pull requests to Rocket's Project 3 frontend and backend repos
  2. 2.
    Add your Project 3 repo links to the Rocket Bootcamp Projects spreadsheet in your batch-specific sheet. Feel free to review past student projects in previous batches' sheets.