A web app where users can track their business expenses.
You are required to create the following accounts to allow the system to be tested. All accounts should have the password p455w0rd
:
user1
user2
manager1
(line manager foruser1
, only needed for stage 2 functionality).manager2
(line manager foruser2
, only needed for stage 2 functionality).
The core functionality consists of three screens.
A home screen where each user
can see a list of all the expenses they have incurred plus a running total. Each user should only see their own expenses Each item should display:
- The date the expense was incurred (using the format DD/MM/YYYY).
- A short one line label.
- The amount in GBP.
Clicking on an expense label should display the details for that particular expense which should include:
- The date of the expense (but not the time using the format DD/MM/YYYY). expenses should be listed in date order with the most recent at the top.
- The category.
- The label.
- The description of the expense.
- A thumbnail image of the scanned receipt, clicking this should enlarge it.
A screen where new expenses can be added. This should ask the user for:
- The date (this should default to the current date and be selected using a date picker).
- A category to be picked from one of the following four categories: travel, food & drink, accomodation, other.
- A short label (used on the home screen).
- A multi-line description of the expense.
- An upload tool to upload a scanned copy of the receipt from the
user's
computer.
The stage 2 functionality requires you to add a manager's
console to the web app. One of the accounts needs to be flagged as the manager's and the following screens must only be accessible to this user:
- The home screen should contain the total amount paid out in expenses to date plus a summary all the users including:
- Their profile picture.
- Their name (first and last).
- The total unclaimed expenses (see third screen).
- Clicking on the name or profile picture of a user should display the detailed expenses screen for that user (the same information as the normal user's home screen). It should also allow each expense to be clicked to view the details page (same as the normal user in the sate 1 functionality).
- The detailed expense screen should include a button/link against each user labelled "Approve expenses". Clicking on this should:
- Hide all the current expenses.
- Increment the total money paid out by the amount being claimed by the user. This will also reset the amount outstanding to 0.
- Send the user an email that includes how much will be paid to them for their expenses claim.