MEGAMODEL
In this project you will build a configurable Data Model module, you can think of it as a very basic version of Mongoose.js. You will re-use this module in the rest of your projects until we cover the true Mongoose.js.
The primary Learning Objectives for this series are (roughly in order):
- Lodash & object deep comparison
- Detecting & communicating errors
- Inheritance & using it
- Module design
- Async & using it
- Testing async code
- Local npm modules
you'll make a gallery landing page to include on your portfolio. it'll have:
- a steps repo (val, err, search, inh, cb, promises, tests)
- analysis repo
- local module project
- published node module repo / npm
do it with tdd
</a# MEGAMODEL
This is a long-running project where we will explore the deeper ends of JavaScript while building a general-purpose data model you can reuse in the rest of your frontend projects.
Index
Learning Objectives
JavaScript:
- Prototypical inheritance
- Functional OOP vs Classical OOP
- Asynchronous programming
- Callbacks
Programming:
- Error handling
- Application architecture
- More dependency injection
- Breaking & non-breaking changes
- ES6 objects
This project does not cover promises. It is better to first understand async programming with callbacks, then to learn the easier tools. We will cover promises in the projects Be Youtube and Portfolio Facelift as well as the code along Components, API's & Building.
Specifications
Build code to meet the synchronous specs, and the async specs.
As usual, build a repo for each. Learning journal, readme, docs, ... but no need to include a live demo for this one.
Resources
References
your videos, george list of links to general-resources
- oop files placed
- fix jl links to elewa-academy links
- oop vs f'a
- async
- callbacks (with link to callback series)
Check out this impressive model class built by Marilena.
Exercises
Complete these series in this order:
Code Alongs
Assessment
links to google forms links to repo if there is a larger code-based assessment