Skip to main content

Final Project (Assign. 4)

Tentative Write-up

Introduction#

You will create a full-stack web application on a topic of your choice. The application will primarily be used to inform the public of useful information. The data you display should be resourced from an external RESTFul API. The choice of RESTFul API and site topic will be agreed upon by your team. Your application will need to welcome the end-user to the application and present information on why the data is useful and how the end-user can use the data. At the conclusion of the project, you will present the application to your peers. During this presentation, you will elaborate on the mission of the site, team roles, goals, and provide a walk through of coding conventions used to complete front and back end functionality.

Back-end Features#

For the back-end features, you will work with your team to complete a web application that implements 4 features below .

  • Requirement 1 - CRUD(Create, Retrieve, Update, Delete) Operations utilizing a persistent data store - *SQLite Relational Database. This requirement can be simply met by users create, update and delete thier account. Site users will also be able to save relevate data pertaining to your site's topic.
  • Requirement 2 - Authentication and Authorization - *Using passport.js.
  • Requirement 3 - Establish a RESTFul API connection from a reliable source. Select a reliable data source that provides multiple records/tuples to visually depict in chart.
  • Requirement 4 - Unit test that check critical back-end functions. A minimum of 2 unit test needed to demonstrate proficency.

Front-end Features#

For the front-end features, you will work with you team to implement the 3 features below.

  • Requirement 5 - Implement a charting library that provides visualization of data that is being resourced from requirement 3.
  • Requirement 6 - End-user manipulation of visualized data. The end-user must be able to use an input element such as a drop-down menu or radio button to change the view of data being presented.
  • Requirement 7 - Site must be responsive and implement a color, graphic, typography and layout strategy. HTML based/Component based frameworks are permissible, but not required.

Technology, Tools and Process#

  • Requirement 8 - Properly configured CI/CD server (GitHub Actions preferred), that orchestrates the testing, hosting and creation of docker resources files and packages created.
  • Requirement 9 - Production environment is configured and properly hosted via World Wide Web. A domain name is not required, but would be a nice to have if your team decided to purchase one.
  • Requirement 10 - Distributed commit history from each team member using version control. Branching strategy identified and used throughout the life of the project.

Security Implementation#

  • Requirement 11 - Paramaterized queries for SQL statements
  • Requirement 12 - Mitigate Brute Force Atacks: Password security measures implemented and enforced. Password length, restricted passwords, password character inclusion, Database Hashed passwords
  • Requirement 13 - Application configuration files properly secured. API, Database, External services

End of semester Deliverable (Assignment 4)#

  • Team evaluation form from each team member
  • Submission of Github repository and Readme.md documentation.
    -Your readme file should include the mission of the site, team member roles and bio, goals of site, code snippets of interaction with RESTFul API, tools and resources used and provide a url to your hosted site. Your README.md file of your repository will be used during the presentation of your project. No power-point will be needed, all details will be listed in the Readme.
  • Signifies required

Presentation Outline#

  • Explain topic you selected and why.
  • What are the main goals/objectives of your site?
  • Walk through of user authentication and explain security practices implemented.
  • Using database interface tool, display the various tables and entry of data into tables when entering a user.
  • What API did you use and demonstrate how the API is used and how the end user can gain meaningful insight from the aggregated data?
  • Please explain areas of difficulty as it related to finishing your application
  • What areas of your application would you like to enhance or restructure given more time?
  • Plans for application once class is over?

Presentation and Evaluation Form#

15 out of the 25 Points of your final project will allocated to presentation and peer evaluation

  • Presentation (5 Points)
  • Evaluation Form (10 Points)
    • The Team Evaluation Form can be found by clicking here or you can enter below.

Presentation Sign-up link#

Google Form Presentation Sign-up *Please submit prior to November 28th 11:59pm.

Presentation Order#

Zoom Presentation URL#

Join Zoom Meeting https://uic.zoom.us/j/83823378517?pwd=UnZwcVZ2NFR4U0o3MC9kM3VzdEtoQT09

Meeting ID: 838 2337 8517 Passcode: CF46ztME