Powerhouse Restobar

byPrakash Varadan

Create a expense tracker

ExpensesDashboardReports
Expenses

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

Powerhouse Restobar System Requirements Document

Introduction

The Powerhouse Restobar project aims to develop a comprehensive expense tracking system tailored for small business operations. This system will facilitate the recording, approval, and settlement of expenses within the restobar, ensuring efficient financial management and accountability.

System Overview

The Powerhouse Restobar expense tracking system is designed to streamline the process of managing expenses incurred by shop personnel. It provides a structured workflow for recording expenses, obtaining approvals, and settling payments. The system will support multiple user roles, including shop personnel, approvers, payment processors, and an admin, each with specific functionalities to ensure smooth operations.

Page 2 of 6

Functional Requirements

  • As a Shop Person, I should be able to add expenses with details such as Date, Expense Description, Amount, and Status, and have the ability to add custom columns.
  • As a Shop Person, I should be able to select the Status from a dropdown with options: Settled through Petty Cash, Submitted.
  • Custom columns added by the Shop Person should be reflected in both the 1st Approver view and the Payment Processing view.
  • Custom column layouts added by a Shop Person should persist and be restored upon logout and subsequent login.
  • As a Shop Person, I should be able to view all submitted expenses.
  • As a Shop Person, I should be able to delete custom columns.
  • As an Approver, I should be able to change the status of an expense to Approved, Rejected, or Partial Settlement and add comments.
  • As a Payment Processor, I should be able to view expenses and change the status to Settled or Not Settled, and process full or partial payments.
  • As an Admin, I should be able to manage all aspects of the system, including adding columns and mapping mobile numbers to roles.
  • As an Admin, I should be able to view logs of changes made by all roles, tracking old and new values.
  • As a User, I should be able to log in using a mobile number and OTP, with access restricted to pre-mapped numbers.
  • As a User, I should receive an error if attempting to log in with an unmapped mobile number.
  • As a User, I should have role-based access control to view and edit reports.

User Personas

  • Shop Person: Responsible for entering expenses incurred during operations.
  • 1st Approver: Reviews and approves or rejects expenses submitted by the shop personnel.
  • Approver: Reviews and approves or rejects expenses submitted by the shop personnel.
  • Payment Processor: Handles the financial transactions and updates the status of expenses to settled or not settled.
  • Admin: Manages system configurations, user roles, and has full access to all functionalities.
Page 3 of 6

Core User Flows

  1. Expense Entry:

    • Shop Person logs into the system -> Enters expense details (Date, Description, Amount) -> Selects initial status (Submitted) -> Saves the entry.
    • Shop Person can add custom columns to the expense entry, which will be visible in subsequent approval and processing stages.
  2. Expense Approval:

    • Approver logs into the system -> Reviews submitted expenses -> Changes status to Approved, Rejected, or Partial Settlement -> Adds comments -> Saves changes.
  3. Expense Settlement:

    • Payment Processor logs into the system -> Reviews approved expenses -> Processes payment -> Updates status to Settled or Not Settled -> Confirms settlement.
  4. Admin Management:

    • Admin logs into the system -> Manages user roles and mobile number mappings -> Views logs of changes -> Configures system settings.
Page 4 of 6

Visuals Colors and Theme

  • primary: #2A9D8F (Teal)
  • primary_light: #A8DADC (Light Teal)
  • secondary: #E76F51 (Coral)
  • accent: #F4A261 (Sandy Orange)
  • highlight: #E9C46A (Golden Yellow)
  • bg: #F1FAEE (Off White)
  • surface: rgba(42, 157, 143, 0.8)
  • text: #264653 (Dark Slate)
  • text_muted: #8D99AE (Muted Gray)
  • border: rgba(233, 69, 96, 0.2)

Signature Design Concept

The Powerhouse Restobar expense tracker will feature an interactive "Expense Journey" homepage. Users will navigate through a dynamic timeline that visually represents the stages of expense processing. Each stage (Entry, Approval, Settlement) will be depicted as a vibrant, animated node on the timeline. Users can click on nodes to expand details, view status changes, and interact with the process. The timeline will utilize framer-motion for smooth transitions and animations, creating an engaging and intuitive user experience.

Page 5 of 6

Interaction Model & Motion Direction

The landing page will employ a "parallax" interaction model, providing a layered depth effect as users scroll through the expense journey timeline. Decorative elements will move at varying speeds, enhancing the storytelling aspect of the expense process. Internal pages will maintain a "static" interaction model for clarity and ease of use, focusing on data entry and review tasks.

Non-Functional Requirements

  • The system must ensure data integrity and prevent unauthorized access to financial records.
  • The user interface should be responsive and accessible on various devices, including tablets and desktops.
  • The system should support concurrent users without performance degradation.

Tech Stack

  • Frontend: React for Web
  • Backend: Python with FastAPI
  • Database: MySQL, using Alembic for migrations
  • Local Orchestration: Docker, docker-compose

Assumptions and Constraints

  • The system will be used primarily by staff within the Powerhouse Restobar premises.
  • Internet connectivity is assumed to be stable for accessing the web-based system.
  • The system will not handle external payment processing but will track internal settlements.
Page 6 of 6

Glossary

  • Expense: A financial transaction or cost incurred by the restobar.
  • Settlement: The process of finalizing and recording the payment of an expense.
  • Parallax: A visual effect where background images move slower than foreground images, creating a sense of depth.
  • Framer-motion: A library used for creating animations and transitions in React applications.
Login: Enter Mobile
Login: Verify OTP
Dashboard: View Summary
Expenses: View Submitted
Expenses: Review Expense
Expenses: Add Comments
Expenses: Approve Expense
Expenses: Reject Expense
Expenses: Partial Settle