Git Product home page Git Product logo

hrnnyc7-mvp1's Introduction

MVP Solo Project

You have 24 hours to produce something compelling using the skills you've honed over the past five weeks.

There are two routes you could take:

  1. Creative MVP: Come up with a well-defined, well-scoped idea that meets basic requirements and take the steps you deem necessary to make it a reality OR
  2. Structured MVP: Use the structured guiding requirements below to build a simple CRUD application.

1. Bare Minimum Requirements (Creative MVP: "cMVP")

  • Use git to track your progress
  • Start with an empty directory and a blinking cursor. Do not use any generators, templates or previous code.
  • Your app must contain a server and a client application.
  • Deploy the app to Heroku

As you work through the project, you may reference public resources and code from past sprints but DO NOT COPY AND PASTE CODE. This is your chance to synthesize material from the past five weeks.

Project Demos:

Be prepared to spend no more than 2 minutes demoing and explaining your app to classmates and staff.

2. Structured Requirements (Structured MVP: "sMVP")

This option requires less creativity but allows you to use the MVP project as a time to review.

The following requirements are divided up into the 3 main pillars of an application - the database, server and client. How you choose to implement these requirements is up to you but guidelines are provided below.

Housekeeping

Complete by Day 1, 12:30pm
  • Brainstorm an idea (implement a technology, build a product, make art, etc).
  • Wireframe the idea (draw out what the finished product would look like).
  • Determine what portion of this could be done in 24 hours.
  • Make a list of features and cut the scope down to only the most essential.
  • Cut the above scope in half again.
  • Determine what technology makes sense for your project
  • Make sure you have all the necessary global tools installed
    • These include but are not limited to:
    • Node and npm
    • nodemon
    • git
    • Webpack (for React builds)
  • Initialize a git repo with $ git init (remember to commit often!)
  • Add and update the .gitignore file if necessary (you will want to ignore config files)
  • Create the package.json file and add any necessary dependencies as you work through the project.
    • Don't forget to add any npm scripts you might need. hint: Maybe a script to start your server?
  • Do not forgo good planning. Planning is half the battle. Only proceed if you have a clear idea of what your final product will look like.

Data Persistence (Optional; recommended if applicable)

Complete by Day 1, 3:30pm
  • Consider what your app needs to store with an MVP-first mindset
    • A single table/collection might be all you need
    • Use knex/mongoose to connect to your Database
    • Use knex/mongoose to build your table(s)/schema
    • In a models directory, create your model(s) with methods to
      • fetchAll from a table/collection and
      • addOne to that table/collection
      • etc.
  • OPTIONAL: Consider using Firebase, an online NoSQL database that you can use from the front-end directly (via a library)

The Server

Complete by Day 1, 7:00pm

The server should provide static-file serving and a RESTful API which can be used by the client-side code. Node 6+ supports most common ES6 features. Consider writing your back-end code in ES6.

  • In your entry point (index.js), complete a server that accepts HTTP requests
  • Create a router
    • The handlers should make use of your models
  • Test your server in Postman if necessary

The Client

Complete by Day 2, 2:30pm

The client application should be a single page application, served via the server's static file service. It comprises code that's necessary to interact with the API through a user interface.

For this portion, although you could use any front-end technology, most people prefer Angular.

Deployment

Complete by Day 2, 4:30pm
  • Deploy the app! (Be warned, Heroku does not play nice with SQLite. What would it take to use a different database in your production environment?)
  • Make sure you create necessary files like the Procfile, and add any environment variables you might need.

Presentation

  • Take at least an hour before dinner to prepare your presentation. Prepare, Practice and Present.
  • Create a short script, it should guide the viewer through the app by discussing the problem, the solution and the tech stack used.
  • Practice the script, making adjustments as necessary to make sure you touch on all of the salient points of your app
  • Be ready to present after dinner. It will move at a fast pace so make sure you are ready.

Advanced Content (for both options)

  • Add Authentication to your app. Try using JWT in your implementation.
  • Have fun with CSS. A lot of developers have (somewhat) unfounded fears of making things look good but it's a necessary skill.
  • Write a couple of tests. Emulate past sprints.

Prepare to pitch / demo your project, tomorrow @ 6:30pm.

Resources

Inspiration

APIs

hrnnyc7-mvp1's People

Watchers

Hakz avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.