PROJECT OBJECTIVES: Applying the concepts you have learned in the class • Translating the business requirements into a r

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

PROJECT OBJECTIVES: Applying the concepts you have learned in the class • Translating the business requirements into a r

Post by answerhappygod »

Project Objectives Applying The Concepts You Have Learned In The Class Translating The Business Requirements Into A R 1
Project Objectives Applying The Concepts You Have Learned In The Class Translating The Business Requirements Into A R 1 (68.1 KiB) Viewed 46 times
Signup.py
import tkinter as tk
class Signup:
def _init_(self):
self.window = tk.Tk()
self.window.title("Sign up")
self.window.geometry('800x800')
self.window.geometry("+600+200") # to
position the window in the center
self.buttonBack =
tk.Button(self.window, text='Login', command=self.go_Login)
self.buttonBack.pack()
self.window.mainloop()
def go_Login(self):
self.window.destroy()
import Login
Login.Login()
Signup()
Wallet.py
import tkinter as tk
class Wallet:
def _init_(self):
self.window = tk.Tk()
self.window.title("Student
Wallet")
self.window.geometry('800x800')
self.buttonBack =
tk.Button(self.window, text='Logout', command=self.logout)
self.buttonBack.pack()
self.window.mainloop()
def logout(self):
self.window.destroy()
import Signup
Signup.Signup()
Admin.py
import tkinter as tk
class Admin:
def _init_(self):
self.window = tk.Tk()
self.window.title("Admin")
self.window.geometry('800x800')
self.buttonBack = tk.Button(self.window,
text='Logout', command=self.logout)
self.buttonBack.pack()
self.window.mainloop()
def logout(self):
self.window.destroy()
import Signup
Signup.Signup()
Login.py
import tkinter as tk
class Login:
def _init_(self):
self.window = tk.Tk()
self.window.title("Login")
self.window.geometry('800x800')
self.buttonBack =
tk.Button(self.window, text='Sign up', command=self.go_signup)
self.buttonBack.pack()
self.window.mainloop()
def go_signup(self):
self.window.destroy()
import Signup
Signup.Signup()
PROJECT OBJECTIVES: Applying the concepts you have learned in the class • Translating the business requirements into a running application • Scaling up your skills in developing a more sophisticated application Introduction: KSU administration is interested in establishing a new payment system called (KSUPay) which takes care of all the financial transactions within the campus including but not limited to the purchasing from the bookstore or cafes, paying the accommodation cost, and depositing the monthly student stipends. In this project, we aim to develop and design the system that keeps the records of all the transactions and other information related to the students, their wallets, and KSU entities wallets. The system shall be user friendly and easy to use. Business Requirements: The following are the gathered business requirements need to be translated into a system: The system should consist of multiple windows. Navigating from one window to another should be easy and clear. The first window (Sign up) which includes: o the fields that capture the student information: First Name, Last Name Student ID number (10 digits) Password (at least 6 digits or letters) Email address in this format [email protected]) Phone number in this format 05XXXXXXXX) o Submit button: when it is clicked, the system generates a 10-digit random number that represents the wallet number, current Date & Time, wallet type (student), 1000 SR initial balance to any new student wallet. Then, the system sends this information along with the student information

to the central database. If the student has been already registered, the system should display an error message. Input validation mechanism, and an error message should appear if there is any such violation, and the information will not be sent to the database in that case. Login button: when it is clicked, the system open the Login window and destroy the current window The second window (Login) which includes: • A field in which the student or the admin can enter his ID A field in which the student or the admin can enter his password Input validation mechanism, and an error message should appear if there is such a violation such as the ID is not digits or less than 10 digits. Login button: when it is clicked, it connects with the central database to check the validity of the entered credentials. In case of success, if the user is a student, it opens the Student Wallet window, and if the user is an admin, it opens the Admin window. In case of failure, the system should display an error message to the user. . The third window (Student Wallet) which includes: Information about his wallet: Wallet Number current balance A field in which the student can enter the Wallet Number of another student or any KSU entities such as a bookstore, housing, or restaurant A field in which the student can enter the amount that he wants to pay. • Pay button: when it is clicked, it connects with the central database to check the validity of the entered Wallet Number (if exist). The entered amount should be deducted from the student wallet. The deducted amount transfers to the target Wallet Number. The system should update the balance of the student wallet and the target wallet correctly. o If the wallet number does not exist, the system should display an error message. If the student enters an amount exceeding his balance, the system should reject this transaction and display the error “There is not enough money". o Back button: when it is clicked, the system takes the user to the sign up window.

The fourth window (Admin) which includes: Information about the total balance of all KSU entities wallets. O A field in which the admin can enter the KSU entity name such as bookstore or housing. Submit button: when it is clicked, the system generates a 10-digit random number that represents the wallet number, current Date & Time, wallet type (KSU), O SR initial balance to any new KSU entity wallet. Then, the system sends this information to the central database. Pay Stipends button: when it is clicked, the system deposits 1000 SR to all the student Wallets in the central database. This button is intended to be clicked every beginning of month by the admin. Cash Out button: when it is clicked, the system clears all the KSU entity wallets balances to zero. Back button: when it is clicked, the system takes the user to the sign up window. Extra Credit: • In the third window (Student Wallet), the system should log all the successful transactions into a file. The log information should include the time when this transaction was made, the amount, the Wallet number of the sender, and the Wallet number of the receiver. • In the fourth window (Admin), create a new button called Backup: Backup button: when it is clicked, the system backups all information of the central database into a CSV file format. Sign up Window Central DB 10 Login Window Admin Window Student Wallet backup.csv transactions.log KSUPay Framework

General Guidelines: • Students are expected to work in small groups of two and only two students. • The business requirements are general; so, you have the freedom to choose the python programming style you like including classes, functions, data structures, ..etc Innovation and creativity are always welcome. • The project shall be submitted on time. Late submissions will not be graded. • The project is worth 20% of your grade, and additionl 3% is for the extra credit. • Do not wait until the last day to start the project. No extension will be given. • Need help or got a question?! Never ever hesitate to reach out to your TA or your instructor Project Deliverables: 1. The project report (2-page limit) in .pdf format which should include: a. Students names, ids b. Introduction c. Challenges d. Lessons learned e. Some screenshots of the GUI f. The contribution of each student 2. The python source code of your application. 3. Both the project report and the source code should be in compression file such as zip (One submission per team) 4. Live demo session with your TA (the schedule will be announced later) Have fun!
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply