ga-wdi-exercises / project3

[Project, Mongo, Mongoose, Node, Express, React, API] Prompt for 3rd WDI Project using React, Node, Mongo, Express and Mongoose
3 stars 4 forks source link

Project #3: Building a MERN Fullstack Application in JavaScript

Overview

While your last project taught you how to get started with Ruby and Rails, this project will have you building another fullstack application, but this time purely in JavaScript with a React front-end.

Your instructors have grouped you with other classmates to design and build an app with two major components:

  1. An API of your own design, built using Node, Express, and Mongoose, that serves JSON.
  2. Front-end React code that updates the UI and makes requests to the API.

This is meant to push you both technically and collaboratively. You will, almost certainly, be joining a development team during your career. Working collaboratively is a learned skill, just like programming. It's important to learn how to work together.


Requirements

Back-End Requirements

Front-End Requirements

Deployment

App Organization

You should split your application into separate repositories, one for your React front-end and another for your Node-Express-Mongoose API.

See deploying to Heroku with MLAB cloud-hosted MongoDB here.

Contribution Guidelines

Process

Code

Teams of developers usually adhere to an agreed-upon set of code-style rules. This reduces issues with reading our colleagues' code. We strongly recommend using StandardJS linting. Instructions for Atom package installation here.


Project Ideas

For this project, work with your team to build a creative product that you actually think someone will want to use.

All students are required to submit two Project 3 ideas as an issue here. The deadline for submission is August 18th at 9:00AM.

Once your team selects an idea, the group must choose a workflow from the Git Teams & Workflow lesson. Be prepared to share your team's plans with your assigned instructor at the first round of scrum.


Evaluation and Submission

See the requirements for the contents of the submission here.

Submit Your Project Here


Attendance

Attendance will be taken every day at 9:00AM. Remember to check in!


Support

The instructors will be responding to Github issues.

If you'd like a reference for a good question checkout this lesson

Each group will be given one token per day, redeemable at any time for 15 minutes each with an instructor of your choice. Tokens cannot be transferred between groups, nor do they rollover from one day to the next.


Bonuses

You should only attempt these bonuses if and only if you've satisfied project requirements.

User Authorization

Consider whether or not you want to introduce a barrier to entry for your application. Does it fit in with the idea of your application? Notoriously, user authorization can be tricky.

"Do I really need to log in just so I can post a link to a GIF?"

Here is a GA lesson explaining how auth can be implemented in an Express application.

Maps

If your application uses physical locations, consider adding a map as a bonus feature to your application. Check out this Google Maps component library.

Awesome React

https://github.com/enaqx/awesome-react