0% found this document useful (0 votes)
4 views

Complex Computing Problem for Web Engineering II

The document outlines a project to design and develop a scalable multi-tenant web platform that supports real-time features and data segregation for distinct organizations. Key requirements include user authentication, customizable dashboards, and middleware integration, with a focus on performance and scalability. Deliverables consist of a functional web application, comprehensive documentation, and a demo video showcasing the platform's capabilities.

Uploaded by

Talha Khursheed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Complex Computing Problem for Web Engineering II

The document outlines a project to design and develop a scalable multi-tenant web platform that supports real-time features and data segregation for distinct organizations. Key requirements include user authentication, customizable dashboards, and middleware integration, with a focus on performance and scalability. Deliverables consist of a functional web application, comprehensive documentation, and a demo video showcasing the platform's capabilities.

Uploaded by

Talha Khursheed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Complex Computing Problem for Web Engineering II

Title: "Design and Develop a Scalable Multi-Tenant Web Platform with Real-Time Features"

Problem Statement:

You are tasked with designing and implementing a multi-tenant web application that serves
multiple distinct organizations or groups while ensuring data segregation, scalability, and
real-time interactions. The application must incorporate advanced web engineering principles
and allow for customization for each tenant's needs.

Scenario:

Imagine you are working for a software development company that has been approached by
various clients to build a shared web platform. The platform should provide core functionalities,
but each tenant (organization/group) should have their own customizable experience. The
platform must support features like user authentication, tenant-specific dashboards, and
real-time communication (e.g., chat or notifications).

You are free to choose the domain of your platform (e.g., project management, online learning,
event management, e-commerce).

Requirements and Constraints:

Core Features:

1.​ Multi-Tenancy Support:


○​ The application should allow multiple organizations to use the same platform
while keeping their data isolated.
○​ Tenants should have unique identifiers (e.g., subdomains like
tenant1.example.com or paths like example.com/tenant1).
2.​ User Authentication:
○​ Implement tenant-based user authentication (e.g., only users belonging to a
tenant can log in to their workspace).
○​ Support role-based access control (e.g., admin, manager, regular user).
3.​ Customizable Dashboard:
○​ Provide a tenant-specific dashboard where each organization can manage its
operations or data.
○​ Allow tenants to add basic customizations, such as themes or layouts.
4.​ Real-Time Interaction:
○​ Integrate real-time features like notifications or a chat system for users within a
tenant.
○​ Use WebSockets or a relevant library (e.g., Socket.IO).
5.​ Middleware and APIs:
○​ Use Express middleware for authentication, request logging, and error handling.
○​ Design RESTful APIs for interaction between the client and server.
6.​ Scalability and Performance:
○​ Ensure the application can handle multiple tenants simultaneously without
performance degradation.
○​ Use caching techniques or optimize database queries to handle high traffic.

Optional Features (Choose Based on Interest):

●​ Tenant-specific analytics (e.g., user activity tracking).


●​ Integration with third-party services (e.g., payment gateways, external APIs).
●​ Tenant onboarding process (e.g., admin dashboard to add new tenants).

Technical Constraints:

●​ Use Express.js or Node.JS for the backend.


●​ Incorporate middleware for request/response handling and error management.
●​ Implement modular routing for tenants.
●​ Use a database of your choice (e.g., MongoDB, MySQL) to store tenant and user data.

Deliverables:

1.​ Web Application:


○​ Fully functional web platform meeting the core features above.
○​ Code must follow modular and reusable patterns.
2.​ Documentation:
○​ A report that includes the system's architecture, key design decisions, and a
description of the middleware and APIs used.
○​ Challenges faced and how they were resolved.
3.​ Demo Video:
○​ A short video demonstrating the platform’s features and explaining how
multi-tenancy and middleware were implemented.

Evaluation Criteria:

1.​ Completeness: Does the project meet the core requirements?


2.​ Code Quality: Is the code modular, reusable, and well-documented?
3.​ Scalability: How well does the application handle multiple tenants?
4.​ Creativity: How innovative or unique is the implementation?
5.​ Problem-Solving: Are the challenges clearly identified and addressed in the report?

You might also like