The goal of this project is to implement a multi-user service for expense tracking among groups and individuals in Java
The balance shown in the app may be an “in-app” balance or an associated bank/credit account. The
platform should provide an engaging user experience. You may want to differentiate your platform
from other teams (remember, this is a competition) by providing peripheral experiences (e.g., social
media). This is a prototype because it will be built as a stand-alone system (it does not need to run in
a web browser). This problem statement is purposefully open-ended. The primary focus of your efforts is to make a
platform that is compelling for your classmates to utilize. You should impress the judges of this
competitive coding competition by demonstrating the use of a wide range of software design features in
your application.
——————————————————————————————————————————————————————-
Minimum Specifications (General):
1. A graphical user interface for the client.
2. A server component that facilitates interactions between clients.
3. The server must allow for at least eight distinct registered users, with unique identifiers.
4. Clients must connect to the server and be able to verify the identity of the user.
5. A client can register an individual who wants to pay or receive payments.
6. Multiple simultaneous client-server interactions must be supported.
7. Transactions(e.g., transfers and social media content)should be recorded by the server.
8. Transactions should allow the user to attach a memo or comment.
9. At least two levels of access (privacy) must be supported to allow users to share (or not share) transaction histories of others.
——————————————————————————————————————————————————————-
Minimum Specifications (Group):
1. Users must be able to form groups of two or more individuals to track expenses communally. Example: Five users dine together multiple times and need to split a series of bills originally paid for by one use.
2. Groups must be private and only accessible to users who have entered a valid code, generated by the group admin at creation.
3. Users can belong to more than one group.
4. Users must be able to specify which group (or individual) payments should be sent to.
5. Groups must be “closable” by the group admin and a method for resolving debt must be implemented.
Suggested Additional Features:
1. Server/maintenance GUI
2. Dividing payments among groups of users
3. Support for other types of clients(merchants, banks)
4. Different levels of user accounts(free, subscription, premium, etc)
5. User ratings
6. Real-time chatting
7. Photo, audio, and video
8. Profile Photos
9. QR Codes to join a group
10. Multiple methods for funding accounts
11. User verification during sign-up
——————————————————————————————————————————————————————-
Other:
– Note that this project does involve mySQL databases of our own and other team members. Let me know if you have any questions regarding database info but I wouldn’t focus too much on that since I would deal with connecting to the database and it would be run in Linux, etc. so it would be hard to access it.
– Add lots of comments!!! and if you could, implement your algorithm, etc.