GithubHelp home page GithubHelp logo

test-project's Introduction

class03-final-project

Main repository for the final project for Class 03

Note that the project is split into two sub-projects. One for the client and one for the server. Further documentation in these folders.

Work stories

First iteration

1A: When I find interesting content I need to be able to share it so others can benefit.

1B: When I feel like learning something new I need to discover content so that I can learn.

1C: When I have selected an item I need to be able to learn more before I read it in full length so I don’t waste time on the wrong content.

Second iteration

2A: When I am selecting what content to read I need to see ratings so I don’t waste time on poor content.

2B: When I find a good learning resource shared by another user, I want to be able endorse (upvote) it, so others can make qualified decisions about what to read.

2C: When I have decided on a piece of content to read/watch I need to be able to go to it directly so I know for sure I am watching the right content.

Third iteration

3A: When I want to explore a specific topic I need to see a list of categories related to that topic so I don’t manually have to browse all of the content.

3B: When I am browsing a topic I need to be able to find content that match my current skill level so that don’t get overwhelmed.

Process

We suggest the following process for working on the project:

  1. Understand the product. Why is it necessary? What does it do and how does it do it?
  2. Decide on what your architecture will look like. This is mostly given, since all classes have been focusing on a single type of architecture, but make sure you understand what you are building and why you are building it.
  3. Get a simple "hello world" style of prototype running utilizing the entire stack (i.e. have the React application query the API that will return a string of text fetched from the database). Don't try to implement the actual application yet. Make sure that functionality such as connecting to the database is
  4. Break the UI into a component hierarchy.
  5. Design a data-model for your database that will allow you to store and query the data you need.
  6. Build a migration script that will allow you to easily set up any tables you need in your database and fill it with test data.
  7. Build a static version of the UI. Don't worry about functionality yet. If you discover discrepancies in your component break-down as you build, update the breakdown.
  8. Start thinking about what components should be stateful. Add container components as needed.
  9. Start wiring up all of the functionality, fetching the data from the API and implementing real functionality as opposed to having just static components.
  10. Plan development so you can stop developing any new features in the last 10-15% of the project (4-6 days). Use this time as a "feature freeze" period, where you focus on "hardening" the product by testing and fixing bugs.

test-project's People

Contributors

zkwsk avatar abdualrhman avatar jacobandresen avatar

Watchers

James Cloos 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.