Final Project. Due: Last Week of Class: April 18th, 20th, and 25th
We have encountered many traditional problems, difficult challenges, with building web applications including performance, scalability, session handling, caching, and data persistence. For this final project in this class, your team is to delve deep into a challenge in web engineering and add on to your existing product we've been working on all semester. Your team is not building something from scratch!
List of Some Challenges in Web Engineering
- Quality video and media delivery
- "Instant" mobile applications, native or web
- Fast API delivery
- An aspect of "big data"
- Large-scale testing
- Large-scale deployment
- Real-time communications
- Performance monitoring and analytics
- Query optimization
- Photo and video processing
- Message queues
- Data synchronization
1. Project Proposal (Due on Friday, March 31st online on Piazza --respond to the "Official Final Project Thread" thread). A short paragraph that addresses the problem your team are trying to solve and why your team chose this project. Think of this an elevator pitch. The reasons why we're going to do the project proposal online: (1) so we can all provide feedback, (2) hopefully we will see many different final projects, thus it may detract other teams from doing the same thing.
2. Presentation: Your team's presentation must address:
- What is the challenge area
- Why the team decided to delve into this area
- Companies that also face this problem
- Related works and references
- Your solution via prototype
- Your solution compared to existing solutions
- The difficult part of your team's final project
- Opportunities for improvement
3. Prototype: The (updated) code, the output, that supports your presentation.
- Rate limiting of the API
- A native mobile app with all the functionality web interface including uploading of media via camera
- Machine learning on the data
- Bot banning
- Improved polling
- Image detection (e.g., recognize a wall outlet in photo)
Engineering Resources For Ideas
Your final project will be assessed by others in the class on the following factors:
- Technical Competency - Does your team understand the challenge area well, and can your team explain it to others?
- Functionality of Prototype - Does the prototype illustrate the challenge area and provide a solution?
- Complexity - The harder the challenge, the better.
- Usefulness - Is this engineering challenge something that users and companies can relate to?