Last Mission
Due to Victoria Kirst of Google for components of this doc
Deadlines
Proposal: 11:30pm four/20
Presentation: four/30 and 5/2 in school
Code Submission: 11:30pm four/30
For the ultimate undertaking, you may be creating an online app utilizing the important thing applied sciences we’ve got practiced all through the semester.
As a substitute of supplying you with a particular net app to duplicate, you might be given the liberty to decide on what you’d wish to make.
We’re supplying you with some restrictions on what you can also make, corresponding to a listing of technical and magnificence necessities.
You could work alone however you might be inspired to work with one other scholar in a bunch.
Not like the homework assignments, the ultimate undertaking can’t be turned in late.
Know-how necessities
In your closing undertaking, you will need to embody the next applied sciences:
Frontend: HTML/CSS
Use courses and ids
Use floating
Change 2+ default font properties
Change four+ field mannequin properties (border, padding, margin)
Should go validators
Frontend: JavaScript
Pay attention for two+ occasions
May be the identical occasion sort, like 2 click on occasions
Use fetch() to speak to your backend
Backend
Use Node and ExpressJS
Save persistent knowledge in MongoDB
Embrace at the least 1 GET route
Embrace at the least 1 POST route, and it ought to embody a message physique
Misc
You want to incorporate all these applied sciences into one cohesive net app.
We won’t be grading on issues like how attention-grabbing your undertaking thought is, how authentic your thought is, how
“sensible” it’s, and many others. Nonetheless, your undertaking can also’t be a set of completely nonsensical code that occurs to
hit our guidelines of applied sciences. Your undertaking must be an online app, even when it’s a really small net app, or
a foolish net app, or a dumb net app.
Your undertaking must be comparatively bug-free.
It’s onerous for us to evaluate whether or not you might be utilizing the know-how appropriately in case your code could be very buggy.
We won’t deduct factors for trivial bugs or polish bugs, however we’ll deduct factors for issues like if the
one GET in your undertaking will not be truly working.
That is one more reason why you need to goal small in your undertaking scope.
Type necessities
These fashion necessities must be no shock, as we’ve enforced all of them semester.
HTML/CSS:
Use tags semantically, e.g. don’t use
Use descendent selectors to cut back redundancy in CSS and HTML
You have to write uncooked HTML and CSS, as we’ve got completed all semester.
i.e. don’t use SASS or compiled CSS/HTML
JavaScript:
Keep away from international variables. Use the module sample.
OK to make use of globals for constants, or different cheap situations
Add/take away/toggle courses from classList as a substitute of modifying fashion straight, except it’s a must to modify fashion
straight (e.g. if you’re calculating the worth of a CSS property in JavaScript)
You have to write uncooked JavaScript, as we’ve got completed all semester.
You could not use jQuery or Prototype.
You could not use any frontend frameworks, corresponding to React, Angular ect.
Backend:
Your backend should be written utilizing the Node and Categorical libraries
Don’t save knowledge to the filesystem: persistent knowledge must be saved in a MongoDB.
HTTP strategies must be utilized in methods which are suitable with the tactic definition. For instance:
Use GET for retrieving knowledge. Don’t write knowledge in a GET handler.
Use POST for saving knowledge. Don’t use POST to show a web page.
Don’t use question parameters with POST
Presentation
You may be required to do a 5 minute demonstration of your web page in school on four/30 or 5/2. This presentation can be
casual. All you will want to do is reveal how your net app works and clarify what it does.
Proposal
You have to flip in a undertaking proposal by 11:30pm on four/20. This proposal should embody the next data:
– Your identify and your associate’s identify (if you’re working in a pair)
– A paragraph describing what your app will do
– A paragraph describing how you’ll use your database