Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9cc4eaa
Update README.md
harrellcc Sep 12, 2025
98cd5e6
Create MediTrack Main Screen
harrellcc Oct 30, 2025
a114036
Update and rename MediTrack Main Screen to MediTrack Main Screen Code
harrellcc Oct 30, 2025
f93c75f
Meditrack
harrellcc Oct 31, 2025
fff660b
Update MediTrack Code
harrellcc Oct 31, 2025
576dc10
Delete Sprint 1/codePlaceHolder.txt
harrellcc Nov 1, 2025
4e35724
Meditrack Code
harrellcc Nov 1, 2025
8ee856d
Create Sprint 1 Test Cases
harrellcc Nov 1, 2025
aca46ac
Create Sprint 1 Test Case Recording
harrellcc Nov 1, 2025
7c5f886
Delete Sprint 1/TestCasesPlaceholder.txt
harrellcc Nov 1, 2025
06729bb
Delete Sprint 1/videoPlaceholder.txt
harrellcc Nov 1, 2025
b1f8e88
Merge pull request #1 from harrellcc/Sprint-1
harrellcc Nov 1, 2025
ff610c3
Create Meditrack Code
harrellcc Nov 12, 2025
49d8442
TC04
malaya-c Nov 12, 2025
ca81e2c
Update README with group members and project description
lynnmc0 Nov 12, 2025
85261a5
Add test case for duplicate medication entry
lynnmc0 Nov 12, 2025
f3bd86a
Updated the dashboard
malaya-c Nov 12, 2025
23ca9e4
Merge branch 'main' of https://github.com/harrellcc/AssignmentRepoDemo
malaya-c Nov 12, 2025
6e09fed
Revise test case for adding existing medication
lynnmc0 Nov 12, 2025
3ad31ab
Merge branch 'main' of https://github.com/harrellcc/AssignmentRepoDemo
malaya-c Nov 12, 2025
4ce9aaf
Delete Sprint 2/codePlaceHolder.txt
harrellcc Nov 14, 2025
7b86d90
Delete Sprint 2/TestCasesPlaceholder.txt
harrellcc Nov 14, 2025
dcf3ae6
Update Sprint 2 Test Case
harrellcc Nov 14, 2025
08c6daf
Fixed the error message
malaya-c Nov 14, 2025
74959a7
Merge branch 'main' of https://github.com/harrellcc/AssignmentRepoDemo
malaya-c Nov 14, 2025
e3f5a6f
Update Sprint 2 Test Case
harrellcc Nov 14, 2025
425af37
Added TC03
malaya-c Nov 14, 2025
7dd3519
Update Sprint 2 Test Case
harrellcc Nov 14, 2025
5d5c1c1
Create Sprint 2 Recording
harrellcc Nov 15, 2025
3a55b15
Delete Sprint 2/videoPlaceholder.txt
harrellcc Nov 15, 2025
ef5efd8
Update Sprint 2 Recording
harrellcc Nov 15, 2025
f56ad7e
Rename codePlaceHolder.txt to sprint3.py
lynnmc0 Dec 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
My groupmembers are:
- XXXX
- XXXX
- XXXX
- XXXX
# Group Members
- Caycee Harrell
- Edwina Sesay
- Malaya Conell
- Rigel Sliteris
- Abigiya Yohannes
- Aldaberto Gomez


------------------ Fill in some information about your project under this ------------------
---
## Descriptions
The Project is an app that will allow users to input their medications, when it was taken, and any side effects or symptoms they may be experiencing.
110 changes: 110 additions & 0 deletions Sprint 1/MediTrack Main Screen Code
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
import tkinter as tk
import tkinter.font as tkFont
from tkinter import messagebox

users = {"sample":"123"}

#Main window configurations
mainWindow = tk.Tk()
mainWindow.title("MediTrack Login form")
mainWindow.geometry("350x450")
mainWindow.configure(bg = '#F0F0F0')
font1 = tkFont.Font(family = "Arial", size = 12, weight = tkFont.NORMAL)

#Dashboard Window configurations
dashboard = tk.Toplevel(mainWindow)
dashboard.title("MediTrack dashboard")
dashboard.geometry("350x450")
dashboard.configure(bg = '#F0F0F0')
dashboard.withdraw()

#Sign-in Window
signIn = tk.Toplevel(mainWindow)
signIn.title("Create new User")
signIn.geometry("350x450")
signIn.configure(bg = '#F0F0F0')
signIn.withdraw()

label = tk.Label(mainWindow, text = "MediTrack", bg= "#F5D5F7", font = font1)
label.place(x= 125,y=0)

def login():
username = userEntry.get().strip()
password = passEntry.get().strip()
print("attempted login:", username, password)

if username in users and users[username] == password:
messagebox.showinfo(title = "Logged in", message= "Successfully logged in!")
dashboard.deiconify()
mainWindow.withdraw()

else:
messagebox.showinfo(title = "Login Failed", message= "Invalid Username or Password")

def signUp():
mainWindow.withdraw()
signIn.deiconify()

def createUser():
username = signUserEntry.get().strip()
password = signPassEntry.get().strip()
confirmPass = passRentry.get().strip()

if username in users:
messagebox.showinfo(title = "Sign up failed", message = "Account with this user already exists")

elif password != confirmPass:
messagebox.showinfo(title = "Invalid Password", message = "Passwords don't match")

else:
users[username] = password
print(users)
messagebox.showinfo(title = "User created", message = "Redirecting back to login")
signIn.withdraw()
mainWindow.deiconify()

#widgets main
userLabel = tk.Label(mainWindow, text = "Username", bg = "#F5D5F7", font = font1)
passLabel = tk.Label(mainWindow, text = "Password", bg = "#F5D5F7", font = font1)
userEntry = tk.Entry(mainWindow)
passEntry = tk.Entry(mainWindow, show = "*")
loginButton = tk.Button(mainWindow, text = "Login", bg = "#F5D5F7", font = font1, command = login)
signUpButton = tk.Button(mainWindow, text = "Sign up", bg = "#F5D5F7", font = font1, command = signUp)

#widgets sign-in
signUserEntryL = tk.Label(signIn, text = "Enter Username", bg = "#F5D5F7", font = font1)
signPassEntryL = tk.Label(signIn, text = "Enter Password", bg = "#F5D5F7", font = font1)
passRentryL = tk.Label(signIn, text = "Confirm Password", bg = "#F5D5F7", font = font1)
signUserEntry = tk.Entry(signIn)
signPassEntry = tk.Entry(signIn, show = "*")
passRentry = tk.Entry(signIn,show = "*")
createUserButton = tk.Button(signIn, text = "Create User", bg = "#F5D5F7", font = font1, command = createUser)

#widgets dashboard
dashboardInput = tk.Entry(dashboard)
dashboardInputL = passRentryL = tk.Label(dashboard, text = "Input Medications", bg = "#F5D5F7", font = font1)


#positions for labels and buttons
#login
loginButton.place(x = 125, y = 100)
signUpButton.place(x = 125, y = 250)
userLabel.place(x=50, y=150)
userEntry.place(x=130 , y=150)
passLabel.place(x=50, y=190)
passEntry.place(x=130, y= 190)
#signin
signUserEntry.place(x=195, y= 150)
signPassEntry.place(x=195, y= 190)
passRentry.place(x=195,y=230)
signUserEntryL.place(x=30, y=150)
signPassEntryL.place(x=30, y=190)
passRentryL.place(x=30, y=230)
createUserButton.place(x = 130, y= 300)
#dashboard
dashboardInput.place(x=130, y=150)



mainWindow.mainloop()

1 change: 1 addition & 0 deletions Sprint 1/Sprint 1 Test Case Recording
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://vcu.zoom.us/rec/share/NFEIxuddtujtpLaQX4Scsvssi1sRmw-_CzQKJ-3qdN_KS0dRzinh6_FWEiUNga9U.4hqBf_iIo3qciR-J?startTime=1762015481000
83 changes: 83 additions & 0 deletions Sprint 1/Sprint 1 Test Cases
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Use Case 1 - Meditrack Login/Sign-in Page
Test Case ID
TC01 - User attempts to login
Test Objective
The User will log into meditracker and be shown their dashboard
Preconditions
User must have a pre-existing username and password
Test steps
User opens the app
User inputs their username
User inputs their password
User presses login
Test ends
Input Values
Username- #####
Password- #####
Expected results
“Successfully logged in” will be displayed,
User will be redirected to a screen displaying an entry to input medications



Test Case ID
TC02 - New user attempts to create an account
Test Objective
The user will attempt to create a new account
Preconditions
A supported browser is being used
Test steps
User selects ‘Create New Account’
In the ‘E-mail or Phone Number’ field user enters their email or phone number
User creates a username in the ‘Username’ field
User creates a password in the ‘Create Password’ field
User re-enters password in the ‘Confirm Password’ field
Click the ‘Create User’ button
Input Values
Email : #####
Password : #####
Re-enter Password : #####
Expected results
User is taken to the login page and “Account Created!” is displayed



Test Case ID
TC03 - User’s login fails
Test Objective
If an invalid username or password is inputted, the login process should fail.
Preconditions
The entered username and/or password are not registered in the system
Test steps
User inputs their username in the ‘Username’ field
User inputs their password in the ‘Password’ field
Click ‘login’
Input Values
Username : #####
Password : #####
Expected results
The login process will fail, and “Invalid Username or Password” will be displayed



Test Case ID
TC04 - User’s sign in attempt fails/ account already exists
Test Objective
Ensure the system prevents users from creating an account that already exists.
Preconditions
An account must already be made with a username and password
Test steps
User opens the Meditrack sign-up page.
User enters an existing email address or phone number in the “Email or Phone Number” field.
User enters a username already associated with another account
User creates and confirms a password
User clicks the “Create User” button to complete registration.
Input Values
Email: #### (already registered)
Username: #### (already registered)
Password: #####
Confirm Password: #####
Expected results
The system displays an error message such as “Account with this user already exists.“ The user remains on the sign-up page, and no new account is created.


Empty file removed Sprint 1/TestCasesPlaceholder.txt
Empty file.
Empty file removed Sprint 1/codePlaceHolder.txt
Empty file.
Empty file removed Sprint 1/videoPlaceholder.txt
Empty file.
1 change: 1 addition & 0 deletions Sprint 2/Sprint 2 Recording
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://vcu.zoom.us/rec/share/QMlyAqaltyCIUfxmdpkLMSzu_f3dxUNJzAfEurDeKJXjgb2YtcwfXPzMQcCdH5mO.ckMbnzbtlpDzTwPD?startTime=1763164710000
96 changes: 96 additions & 0 deletions Sprint 2/Sprint 2 Test Case
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
Use Case 2 - <<Meditrack Medication Management>>
Test Case ID
TC01 - The user adds a medication to their list of medicine
Test Objective
The user will add a medicine to their account through the dashboard
Preconditions
The user has already logged into their account
Test steps
The user logs in and goes to their dashboard
The user presses Add Medicine
The user inputs the Medicine
The user presses add medicine
A pop up displaying “Medicine has been added” will show, and the medicine will be displayed in a list on the dashboard
Test case ends
Input Values
Medicine Name- “Ibuprofen”
Dosage- “200 mg”
Time Taken = “8:00 AM”
Symptoms- “Nausea”
Expected results
The medicine will be added and will be shown on a list of medicines



Test Case ID
TC02 - The User records an administered dosage of a specific mediation, and symptoms
Test Objective
Verify that the user can record an administered dosage of a specific medication and note any symptoms after taking it.
Preconditions
The dashboard window is visible and active
Test steps
Navigate to dashboard window
The user input their medications
Click the save or record button
Observe confirmation of successful entry or appearance of the saved data in the log/list
Input Values
Medication name - “ibuprofen
Dosage - “200 mg”
Time Taken = “8:00 AM”
Symptoms - “Nausea”
Expected results
A message box appears stating”Medication record saved successfully: or the data appears in a displayed medication history/log
The input field clears after saving
The saved record is stored in memory(or in a file/database, depending on implementation)



Test Case ID
TC03 - The user removes a medication
Test Objective
To verify that the system correctly removes a medication from the user’s medication list and the display updates accordingly.
Preconditions
The user is logged into their account, the user has at least one medication on their list
Test steps
The user navigates to their Dashboard
The user opens the Medication List
The user selects a specific medication they wish to remove.
The user clicks on the “Remove” or “Delete button” next to the medication
The system will then prompt a confirmation message, “Are you sure you want to remove this medication?”
The user confirms the deletion by clicking “Yes”?
The system displays a success message (“Medication removed successfully”)
The list refreshes to reflect the removal
Input Values
Medication to remove: “Ibuprofen 200 mg”
Confirmation: Yes
Expected results
The selected medication is deleted from the list.
The updated medication list no longer displays the removed medication.
A success message appears confirming removal
No errors or crashes during.



Test Case ID
TC04 - The user attempts to input an medication that is already registered
Test Objective
Verify that the MediTrack system prevents the user from adding a medication entry that has already been recorded
Preconditions
The dashboard window is active, at least one medication record
Test steps
Navigate to the Dashboard window
In the medication input field, enter a medication record identical to an existing one
Click the save or record button
Observe the system's response
Observe the system’s response
Input Values
Medication name - “Ibuprofen”
Dosage - “200 mg”
Time Taken = “8:00 AM”
Symptoms - “Nausea”
Expected results
A message box appears stating: “This medication entry already exists.”
The duplicate record is not saved or added to the log
The existing medication record remains unchanged


Empty file removed Sprint 2/TestCasesPlaceholder.txt
Empty file.
Empty file removed Sprint 2/codePlaceHolder.txt
Empty file.
Loading