teamcore-saas

byAbhiram S

what im going to build is a saas project to master my system desgin and my cnfidence in aspnet core web api backend here im going to use it like i will develop a saas project where the admins of different companies could login->view plan->subcsribe and use the platform for emp management where there cold be features like emp creation/management, leave, role based access for manager/employees, employees under managaers, payslip view, check in checkout out, asset assigned and many more all the frtaures shohudl not be in a single plan u need to divide the features into diff plans so build the backend architecture and the db strucyre for this app

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 8

System Requirements Document for teamcore-saas

1. Introduction

The teamcore-saas project is a Software as a Service (SaaS) platform designed to enhance system design skills and confidence in ASP.NET Core Web API backend development. The platform targets company administrators who can log in, view subscription plans, and manage employee-related tasks. The platform includes features such as employee creation and management, leave management, role-based access control, employee-manager relationships, payslip viewing, check-in/check-out functionality, and asset assignment. These features are divided into different subscription plans.

2. System Overview

The teamcore-saas platform is delivered as a multi-tier subscription model, providing role-based access and diverse employee management features. The backend architecture and database structure are designed using ASP.NET Core Web API. The platform is intended for use by company administrators, managers, and employees, each with specific access and responsibilities.

2a. Product Interpretation and Delivery Boundary

The platform is accessed via a web interface where company administrators can log in to manage their subscription plans and employee-related tasks. The system supports role-based access control, ensuring that managers and employees have access to only the features relevant to their roles. The backend is built using ASP.NET Core Web API, and the database structure is designed to support the multi-tier subscription model.

Page 2 of 8

2b. Source Content Inventory

Not applicable as no content source directive was provided.

2c. Page Content and Component Coverage

Login Page

  • Information/State: User credentials input (username and password).
  • Primary Actions: Log in to the platform.
  • Supporting Actions: Password recovery link.
  • Components: Input fields, login button, password recovery link.
  • States: Loading, success, error (invalid credentials).

Dashboard

  • Information/State: Overview of subscription plan, employee statistics.
  • Primary Actions: View detailed plan information, navigate to employee management.
  • Supporting Actions: Logout.
  • Components: Plan overview section, employee statistics section, navigation links.
  • States: Loading, success, error (data retrieval issues).

Plan Management

  • Information/State: Available subscription plans, current plan details.
  • Primary Actions: Subscribe to a new plan, upgrade/downgrade plan.
  • Supporting Actions: View plan features.
  • Components: Plan list, subscription buttons, feature comparison table.
  • States: Loading, success, error (subscription issues).
Page 3 of 8

Employee Management

  • Information/State: Employee list, employee details.
  • Primary Actions: Add new employee, edit employee details, delete employee.
  • Supporting Actions: Search employees, filter by department/role.
  • Components: Employee table, form for adding/editing employees, search bar.
  • States: Loading, success, error (data manipulation issues).

Role Management

  • Information/State: Role definitions, role assignments.
  • Primary Actions: Create new role, assign roles to employees.
  • Supporting Actions: Edit role permissions.
  • Components: Role list, assignment interface, permission settings.
  • States: Loading, success, error (role assignment issues).

Leave Management

  • Information/State: Leave requests, leave balances.
  • Primary Actions: Approve/deny leave requests, apply for leave.
  • Supporting Actions: View leave history.
  • Components: Leave request list, application form, balance overview.
  • States: Loading, success, error (leave processing issues).

Asset Management

  • Information/State: Asset inventory, asset assignments.
  • Primary Actions: Assign asset to employee, return asset.
  • Supporting Actions: View asset history.
  • Components: Asset list, assignment interface, history log.
  • States: Loading, success, error (asset management issues).
Page 4 of 8

3. Functional Requirements

  • As a company administrator, I should be able to log in to the platform to manage my company's subscription and employee-related tasks. (explicit)
  • As a company administrator, I should be able to view and subscribe to different plans to access various features. (explicit)
  • As a company administrator, I should be able to manage employees, including adding, editing, and deleting employee records. (explicit)
  • As a manager, I should be able to view and manage employees under my supervision, including approving leave requests. (explicit)
  • As an employee, I should be able to view my payslip and check in/out of work. (explicit)
  • As a company administrator, I should be able to assign roles to employees to control access to features. (explicit)
  • As a company administrator, I should be able to manage assets assigned to employees. (explicit)

4. User Personas

  • Company Administrator: Responsible for managing subscription plans, employee records, roles, and assets.
  • Manager: Oversees employees, approves leave requests, and manages employee-related tasks.
  • Employee: Views personal information such as payslips, checks in/out, and applies for leave.

5. Core User Flows

Company Administrator Flow

  1. Log in to the platform.
  2. View current subscription plan and available plans.
  3. Subscribe to or modify a plan.
  4. Navigate to employee management to add/edit/delete employees.
  5. Assign roles to employees.
  6. Manage assets assigned to employees.
  7. Log out.
Page 5 of 8

Manager Flow

  1. Log in to the platform.
  2. View employees under supervision.
  3. Approve or deny leave requests.
  4. Log out.

Employee Flow

  1. Log in to the platform.
  2. View personal payslip.
  3. Check in/out of work.
  4. Apply for leave.
  5. Log out.
Page 6 of 8

6. Visuals Colors and Theme

  • Muse: Erik Spiekermann
  • Palette:
    • Background: #F6F3EE
    • Surface: #FFFFFF
    • Text: #333333
    • Primary: #F15B2A
    • Accent: #E7B10A
    • Muted: #E0E0E0
  • Typography:
    • Headings: Fira Sans, Bold, large scale, all-caps
    • Body: Source Sans Pro
    • Scale: 1.5 modular (56/36/24/16/14)
  • Shape Language: Clear columns, rounded rectangular controls
  • Layout: Generous margins, structured grid, clear label/value pairs
  • Imagery: Pictograms and schematic maps

7. Signature Design Concept

The public entry page will feature a large typographic headline in Fira Sans, aligned left, with a warm neutral background and a signal orange accent block. The design will incorporate oversized Fira Sans headlines spanning the viewport width, low-opacity pictograms as background texture, and clear, rounded rectangular controls for calls-to-action.

Page 7 of 8

8. Interaction Model & Motion Direction

  • Interaction Model: Static
  • Motion Tempo: Restrained
  • Hero Dimensionality: Flat
  • Landing Hero Motion Brief: The hero section will feature a large typographic headline with a signal orange accent block. The motion will be minimal, focusing on instant feedback without flourish, ensuring clarity and focus.

9. Non-Functional Requirements

  • The system must be scalable to support multiple companies with varying numbers of employees.
  • The system must ensure data security and privacy for all user information.
  • The system should provide a responsive design for accessibility on various devices.

10. Tech Stack

  • ASP.NET Core Web API for backend development.
  • SQL Server for database management.
  • Entity Framework Core for ORM.
  • IdentityServer for authentication and authorization.
  • Docker for containerization.

11. Assumptions and Constraints

  • The platform will initially support English language only.
  • Internet connectivity is required for accessing the platform.
  • The system will not handle payroll processing beyond payslip viewing.
Page 8 of 8

12. Glossary

  • SaaS: Software as a Service
  • ASP.NET Core: A cross-platform, high-performance framework for building modern, cloud-based, Internet-connected applications.
  • ORM: Object-Relational Mapping
  • IdentityServer: An open-source framework for implementing authentication and authorization in .NET applications.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Login: Log in
Dashboard: View plan overview
Plan Management: View available plans
Plan Management: Subscribe to plan
Employee Management: Add new employee
Employee Management: Edit employee details
Employee Management: Delete employee
Role Management: Create new role
Role Management: Assign roles to employees
Asset Management: Assign asset to employee
Asset Management: Return asset
Dashboard: Log out

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Login: Log in
Dashboard: View plan overview
Plan Management: View available plans
Plan Management: Subscribe to plan
Employee Management: Add new employee
Employee Management: Edit employee details
Employee Management: Delete employee
Role Management: Create new role
Role Management: Assign roles to employees
Asset Management: Assign asset to employee
Asset Management: Return asset
Dashboard: Log out