Skip to content

Commit 5600127

Browse files
committed
added the requirements in README
1 parent 07b21e4 commit 5600127

File tree

3 files changed

+256
-193
lines changed

3 files changed

+256
-193
lines changed

README.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,33 @@
1-
# pnpm-template
2-
A template to create other assignments
1+
# Banking management
2+
3+
## Overview
4+
5+
We are going to code up a banking management system using TypeScript and basic OOPS knowledge. This is a real world problem and will give you a good understanding of how to design and implement a similar system, but all within your own codebase for now.
6+
7+
## Requirements
8+
9+
- New banks can be created from the factory.
10+
- Bank can specify if it's allowed for its accounts to have negative balance. If not specified, an account cannot have negative balance in that bank.
11+
- Users can have multiple accounts. These accounts can be in same or different banks.
12+
- Users can transfer money between their own accounts or others. If the money is being transferred within the same bank, then the bank details are not required.
13+
- The accounts listed in user's account list are based on the priority of usage.
14+
- When transferring money, if one of the accounts within the same bank doesn't have sufficient funds, then the next account belonging to the same user in the same bank will be used.
15+
16+
## Rules
17+
18+
- Use pnpm as the package manager
19+
- Don't change anything in package.json, __tests__ or .github/workflows (Those assignments will be disqualified for grading and evaluation)
20+
- You can form a team of 2-3 people and submit the solution
21+
- There will be 3 levels of evaluation:
22+
- Simple: 2 points
23+
- Real: 7 points
24+
- Final: 24 points
25+
26+
## Steps
27+
28+
1. Accept the assignment via the link provided.
29+
2. Design the classes and methods for the banking management system. Maybe create a class diagram and sequence diagram for early review.
30+
3. Make sure all test cases pass and also make sure all requirements are met. First focus on passing the tests in `simple.test.ts` and then move on to `real.test.ts`.
31+
4. Use proper commit messages and push your changes to the repo in the default branch.
32+
5. Check the status of your GitHub actions.
33+
6. Let Ankush know when you are done in the JS TS Discord server.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"author": "",
1414
"license": "ISC",
1515
"devDependencies": {
16-
"vite-tsconfig-paths": "^5.0.1",
17-
"vitest": "^2.1.0"
16+
"vite-tsconfig-paths": "^5.1.4",
17+
"vitest": "^2.1.8"
1818
}
1919
}

0 commit comments

Comments
 (0)