0% found this document useful (0 votes)
11 views2 pages

Multi-Tenant Web Platform Design Guide

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views2 pages

Multi-Tenant Web Platform Design Guide

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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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
[Link] or paths like [Link]/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., [Link]).
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 [Link] or [Link] 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