Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 26 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,26 @@
# cs4241-FinalProject

For your final project, you'll implement a course project that exhibits your mastery of the course materials.
Similar to A4, this project gives you an opportunity to be creative and to pursue individual research and learning.

## General description

Your project should consist of a complete Web application, exhibiting facets of the three main sections of the course material:

- Static Web page content and design. You should have a project that is accessible, easily navigable, and features significant content.
- Dynamic behavior implemented with JavaScript.
- Server-side programming *using Node.js*. Typically this will take the form of some sort of persistent data, authentication, and possibly server-side computation.

Additionally, you should incorporate features that you independently research, design, and implement for your project.

## Project ideation

Excellent projects serve someone/some group; for this assignment you need to define your users and stakeholders. I encourage you to identify projects that will have impact, either artistically, politically, or in terms of productivity. Consider creating something useful for a cause or hobby you care about.

## Logistics

### Team size
Students are encouraged to work in teams of 2-5 students for the project. This will allow you to build a good project without expending an excessive amount of effort. While I would expect a team of four or five students to produce a project with more features, I expect a every team's work to exhibit all of the required facets described above.

### Deliverables

__Proposal:__
Provide an outline of your project direction and the names of the team members.
The outline should have enough detail so that staff can determine if it meets the minimum expectations, or if it goes too far to be reasonable by the deadline.
This file must be named proposal.md so we can find it.
Submit a PR to turn it in by Monday, September 30th, before class

There are no other scheduled checkpoints for your project.
You must be done in time to present before the final project demo day (October 10th).

#### Turning in Your Outline / Project

**NOTE: code is due before the project presentation day due to the end of term / grading schedule constraints**
Submit a second PR on the final project repo to turn in your app and code.

Deploy your app, in the form of a webpage, to Glitch/Heroku/Digital Ocean or some other service.
Folks on the same team do not need to post the same webpage, but must instead clearly state who is on the team in their proposal.
(Staff will use the proposal to build the grading sheet.)

## Final Presentation

Presentations will occur during the final day of class.

## FAQs

- **Can I use XYZ framework?** You can use any web-based frameworks or tools available, but for your server programming you need to use node.js.
Final Assignment -
===

Deliverables
---
1) A static webpage that contributes to a research project here at WPI.
2) Dynamic javascript behavior - filling html tags dynamically, and creating them dynamically as well.
3) A server that routes to two different client side files and provides data from two different databases.

Technical Achievements
---
1) Implemented MongoDB - https://fp-arundelain-kroyer.glitch.me
2) Used Tracery and jquery to create and use a grammar, used a module for FileServer,
used mongoDB, node.js, body-parser, css
3) Dynamically created divs using javascript, created a server that also acted as a router for my pages.
4) Utilised two client side javascript files to created the interactivity with the server.
5) Accessed the information from the dynamic divs to output to an external file via a saveas button.
6) Accessed two individual database collections to get an editable list of data for the initial page
and a list of grammar rules for the second page.
7) Filtered my array data for html code and removed it prior to sending to the FileServer module.

This project supports ongoing research at WPI. I am working with a group of people including
Professor Gillian Smith, Professor Anne Sullivan, Trusting Inekwe, Aidan Buffam and others to
provide an opportunity to quilters who may feel intimidated by learning programming.
We are attempting to decide between using a grammar or using traditional javascript or some
combination to offer a unique way for quilters to approach their hobbies.