CompSci 290
Spring 2021
Web Application Development

Lots of Lists

This project is intended for you to show that you can build and deploy a complete Web app with separate front- and back-end projects, using Vue's CLI and NodeJS as detailed here.

Submitting Your Work

This project will be added to your portfolio_NETID repository so there is one single place we can go to find your work during the semester. To submit this project:

Your page must

Specification

Lists are everywhere on the web: a blog is a list of journal entries, a course is a list of assignments and topics, a store is a list of things to buy, Twitter is a list of tweets, comments are a list of text, and YouTube is a list of videos (with comments). Lists can be organized in a variety of ways based on the elements of their items. Lists can also be associated with other lists or hierarchical in nature (as detailed in the Trello assignment). All of these sites also have lists of users that have their own personal view of these lists. In short, lists are very flexible and very easy to represent.

Your task is to display, sort, and filter a list of things returned from an API that represents something of interest to you (perhaps even the data you plan to use for your final project). As an optional challenge, you can combine data from multiple API sources in your list (e.g., images or sounds representing each thing, additional details about each thing combined from other sources, translations or analysis of each thing, etc.).

Back-end

Create a basic JavaScript program that

Using NodeJS with

As a final step, the back-end project will be hosted on Heroku rather than your personal machine so it allows your web app on Gitlab Pages to be available at all times.

Front-end

The exact look of your website is up to you to design but, at the very least, it should:

As usual we strongly suggest develop your iteratively: making a few small changes at a time and, perhaps, the Vue CLI Sandbox.