In the next three weeks (April 17 - May 5), you'll work in teams to build an interactive web application that is useful to the Wellesley community and is built with and runs on the Meteor framework.
In addition to building the app, you will also work on collaborative code writing (learning to use Github), give a technical talk (with the help of PLTC public speaking tutors), and then perform code review of other teams' code.
There are two major requirements for this project:
You are free to use external APIs or D3.js visualizations if your app needs them, but these are not required. The focus of this project is to give you experience with building a Meteor application from scractch by working with peers in the same problem. This experience will be very helpful when you will work on your own IP later in the semester.
The Team Project will go over a few phases:
Given the reactivity of Meteor, its best use is to create real-time apps, where one can see live updates from other users. However, apps that are used to keep track of things over time and immediately update some totals are also a good example. Here are some ideas for topics for the Team Project related to Wellesley. Of course, you are not bound at all to any of these. They are not fleshed out in purpose, to not influence your brain-storming process.
It will help your work a lot if initially you create a very detailed mockup of how your app will look like and behave. Our guest lecturer will talk about this process on Friday, April 17.
Based on this mockup, you should decide what documents will be stored in the MongoDB database and what fields each document will have. You can also enter data in the database from the console and try different CRUD operations to test that you are getting the desired results.
Once you know what data you'll be storing, and have a mockup of the interface, you can create the HTML templates and embed them in the HTML/CSS of your app.
Now you can write the JS code that has template helpers, template events, and Meteor methods to provide data to the app.
Finally you can add users and make sure that the app does the right thing for different users (keep in mind security as well).
In your cs249
folder, you should create a TP
folder
where you will have an index.html
page that contains links to
all materials you will generate during this period:
meteor.com
Make sure to provide dates and short descriptions for all links that you will collect in this page.
On May 5, there will be a in-class presentation of the team project. Each team with have about 8 minutes for the presentation and 2-3 minutes per question.
When preparing the presentation, try to allocate equal speaking time to each team member.
Your presentation should have a minimum a five content slides (plus the initial title/names slide). The content slides can contain text, images, or both.
You are free to add more slides, as long as your entire presentation doesn't go over 8 minutes.
Kee in mind the presentation tips shared by the PLTC tutors and if you need it, sign up for a time to rehearse with them.
To avoid losing time in class with opening your email account, downloading slides, etc., all teams should have their slides online in their folder (see submission instructions above). Given that this is a team presentation, you may use Google Presentation, and make your slides public within Wellesley College.
Alternatively, you can create a HTML/CSS/JS presentation using tools such as reveal.js, impress.js, or others that you may find on the Web.
This Team Project counts for 10% of the course grade. This will be converted into 10 points divided in the following way: