{"id":51519981,"url":"https://github.com/tech-at-du/acs-3210-advanced-web-patterns","last_synced_at":"2026-07-08T15:01:12.325Z","repository":{"id":115269195,"uuid":"390577127","full_name":"Tech-at-DU/ACS-3210-Advanced-Web-Patterns","owner":"Tech-at-DU","description":"👩‍💻 Build any web application by learning common patterns for web development like search, pagination, file uploading, and sending email/texts! Later modules introduce advanced web development techniques including serverless architectures and websockets.","archived":false,"fork":false,"pushed_at":"2024-06-20T17:00:31.000Z","size":9170,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-21T11:05:31.232Z","etag":null,"topics":["chai","express","js","mocha","node","npm","serverless","web-patterns","websockets"],"latest_commit_sha":null,"homepage":"https://bit.ly/acs3210","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tech-at-DU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-29T02:39:11.000Z","updated_at":"2024-06-20T17:00:34.000Z","dependencies_parsed_at":"2024-06-11T20:26:39.023Z","dependency_job_id":null,"html_url":"https://github.com/Tech-at-DU/ACS-3210-Advanced-Web-Patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tech-at-DU/ACS-3210-Advanced-Web-Patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3210-Advanced-Web-Patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3210-Advanced-Web-Patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3210-Advanced-Web-Patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3210-Advanced-Web-Patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tech-at-DU","download_url":"https://codeload.github.com/Tech-at-DU/ACS-3210-Advanced-Web-Patterns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3210-Advanced-Web-Patterns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35268549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chai","express","js","mocha","node","npm","serverless","web-patterns","websockets"],"created_at":"2026-07-08T15:01:10.920Z","updated_at":"2026-07-08T15:01:12.288Z","avatar_url":"https://github.com/Tech-at-DU.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"node.png\" height=\"110\"\u003e\n\u003c/p\u003e\n\n# ACS 3210: Advanced Web Patterns\n\n\u003c!-- omit in toc --\u003e\n## Table of Contents\n\n1. [Course Description](#course-description)\n1. [Prerequisites](#prerequisites)\n1. [Course Specifics](#course-specifics)\n1. [Learning Outcomes](#learning-outcomes)\n1. [Schedule](#schedule)\n1. [Class Assignments](#class-assignments)\n   1. [Tutorials](#tutorials)\n   1. [Challenges](#challenges)\n   1. [Capstone Project](#capstone-project)\n1. [Late Assignment Policy](#late-assignment-policy)\n1. [Evaluation](#evaluation)\n\n## Course Description\n\nIn this course students deepen their understanding of the web and implement advanced features that add complexity and uniqueness to a server’s structure. Advanced full stack patterns covered include WebSockets, simple search, payment gateways, chat room, uploading images and files, full text search, and sending emails and texts.\n\n## Prerequisites\n\n- [BEW 1.3](http://make.sc/bew1.3)\n\n## Course Specifics\n\n**Course Delivery**: online | 7 weeks | 14 sessions\u003cbr\u003e\n**Course Credits**: 3 units | 37.5 Seat Hours | 75 Total Hours\n\n## Learning Outcomes\n\n**By the end of the course, you'll be able to**\u0026hellip;\n\n1. Implement navigation and discoverability best practices for the web\n1. Create asynchronous bi-directional server-client communication\n1. Integrate an object storage service to store external resources\n1. Build out advanced features \u0026mdash; such as payment transactions and automatic emails \u0026mdash; using APIs\n\n## Schedule\n\n**Course Dates**: Tuesday, May 21 – Tuesday, July 9, 2024\u003cbr\u003e\n**Class Times**: Tuesday, Thursday at 10:00am to 12:00pm\n\n| Class |                                                                          Topics                                                                           |\n| :---: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: |\n|   1   |                                                              [Course Overview / Pagination]                                                               |\n|   2   |                                                                         [Search]                                                                          |\n|   3   |                                                                [Introduction to Amazon S3]                                                                |\n|   4   |                                                                    [Payment Gateways]                                                                     |\n|   5   |                                                                     [Sending Emails]                                                                      |\n|   6   |                                                           [Intro to WebSockets]                                                                           |\n|   7   |                                                                [Working With WebSockets]                                                                  |\n|   8   |     Lab Time: [Make Chat]     \n|   9   |                                                          **[Serverless IRL] + Guest Speaker ([Slides](assets/MakeSchoolServerless.pdf))**\u003cbr\u003e\u003csmall\u003e🎤 **[James Beswick]** _(Sr. Developer Advocate @ AWS)\u003c/small\u003e_                                               |\n|  10   |                                             [Getting Started with Serverless]                                                                         |\n|  11   |                           [Serverless Architecture]                                 |                                                                  |\n|  12   |                                                          [Building and Deploying a Node Module]                                                           |\n|  13   |                                                            Lab Time: Capstone Project                                                              |\n|  14   |                                                        [Final Presentations](#final-presentations)                                                        |\n\n## Class Assignments\n\nWe will be using Gradescope this term, which allows us to provide fast and accurate feedback on your work. All assigned work will be submitted through Gradescope, and assignment and exam grades will be returned through Gradescope. As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. You may also submit regrade requests if you feel we have made a mistake.\n\n### Tutorials\n\nTo access each tutorial, **click the bold links** below. Be sure to complete the exercise in your browser and follow each instruction carefully.\n\n| Name              | Description                                            |\n| ----------------- | ------------------------------------------------------ |\n| **[Pete's Pets]** | _Add common features to improve an existing codebase._ |\n| **[Make Chat]**   | _Create your very own live messaging application!_     |\n\n**PLEASE NOTE**: _All tutorials and projects require a minimum of 10 commits, and must take place throughout the time allotted for the project's completion, not just at the end. Failure to include more than 10 commits will lead to not getting credit for the project and having to redo it._\n\n### Challenges\n\n| Name                                        | Team Size | More Info                                |\n| ------------------------------------------- | :-------: | ---------------------------------------- |\n| **Challenge 1**: Serverless REST API        |    `2`    | [Instructions](Challenges/Serverless.md) |\n| **Challenge 2**: Start Strong with SocketIO |    `1`    | [Instructions](Challenges/Websockets.md) |\n| **Challenge 3**: New Modules Now with NPM   |    `1`    | [Instructions](Challenges/Module.md)     |\n\n### Capstone Project\n\n| Name                               | Team Size | More Info                                           | Rubric                                                                                         |\n| ---------------------------------- | :-------: | --------------------------------------------------- | ---------------------------------------------------------------------------------------------- |\n| **Repository**: Capstone Project   |    `2`    | [Instructions](Challenges/Capstone.md)              | -                                                                                              |\n| **Presentation**: Capstone Project |    `2`    | [Instructions](Challenges/Capstone.md#Presentation) | [Rubric](https://docs.google.com/document/d/1WTLcZNyvRGYDz5L8Kr8a0ILbFAyr92u85paoqGFjxPg/edit) |\n\n## Late Assignment Policy\n\n- Late assignments that are submitted **more than 5 days (120 hours)** after the deadline will be given a **25% late penalty**.\n- The **absolute last day** to submit any assignment will be **Friday, October 8th at 11:59 PM**.\n\nIf you require accommodations or have extenuating circumstances such as prolonged illness, please contact your instructor to request an extension.\n\n## Evaluation\n\nTo pass this course you must meet the following requirements:\n\n- **Complete both** the **[Pete's Pets]** and **[Make Chat]** tutorials and submit your code on [Gradescope].\n- **Submit all three [challenges](#challenges)** on [Gradescope].\n- **Build a [Capstone Project](#capstone-project)** with your assigned team and submit the repository for review on [Gradescope].\n- **Deliver a [presentation](#capstone-project)** demonstrating your [Capstone Project](#capstone-project) on the final day of class.\n- Actively **participate in class** and **abide by the attendance policy**.\n- **Make up all classwork** from all absences.\n\n\n[Course Overview / Pagination]: Lessons/Pagination.md\n[Search]: Lessons/Search.md\n[Introduction to Amazon S3]: Lessons/UploadS3.md\n[Getting Started with Serverless]: Lessons/ServerlessIntro.md\n[Payment Gateways]: Lessons/Payments.md\n[Sending Emails]: Lessons/Emails.md\n[Intro to WebSockets]: Lessons/WebSocketsIntro.md\n[Working with WebSockets]: Lessons/WebSocketsIRL.md\n[Serverless Architecture]:Lessons/ServerlessDiagrams.md\n[Serverless IRL]: Lessons/ServerlessIRL.md\n[Building and Deploying a Node Module]: Lessons/NodeModules.md\n[James Beswick]: https://aws.amazon.com/blogs/compute/author/jbeswick/\n[Make Chat]: https://github.com/Tech-at-DU/Make-Chat-Tutorial\n[Pete's Pets]: https://github.com/Tech-at-DU/Proud-Petes-Pet-Emporium\n[Gradescope]: https://www.gradescope.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-at-du%2Facs-3210-advanced-web-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftech-at-du%2Facs-3210-advanced-web-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-at-du%2Facs-3210-advanced-web-patterns/lists"}