Software Engineering Final Project - Android App Development
Key Takeaways
The video demonstrates the development of an Android app for a walk-in clinic organizer using Java, Android Studio, and Google Maps, with features such as user management, clinic profile management, and appointment booking.
Full Transcript
hello everybody and welcome back so in this video I will be doing a demo of my first ever Android application now this Android app was built for school so as most of you know I'm a computer science student I'm actually enrolled in a software engineering class this semester and our final project for this class was to create this exact application so every group had to create the same app a walk-in clinic organizer you guys will see how this works there's three main users that we had to accommodate here so an admin user an employee user and a patient user and I'll talk about the responsibilities of each of those users as we kind of go in and talk more about the application I will say actually did build this with four other students so most of the other students did a lot of the UI stuff and kind of the lighter-weight back and work whereas my main responsibility was doing the more kind of intense back-end stuff that was a bit more difficult as well as all of the database components and I would say that I probably wrote a lot of the code that you guys gonna see in the github repository that I've linked down below for this project also if you guys would like to run this app there is an APK down there so if you have an android phone or you just want to try it on android studio you're more than welcome to do that and in case I didn't mention that this is written in Java alright so let's actually just get in and start looking at the application so I'm gonna start from the administrator user and then go to the employee user and the patient user which is our three users for this application and talk about what each can do so this is our admin log and I'm gonna blur it out because you guys can actually log in if you see that and our admin has two main things that it can do it can create modify and delete services that can be offered by the different walking clinics and it can view and delete the different users of this actual walking clinic app so here you can see this is a list of all the users coincidentally they're all named Tim because those obviously is me that's doing the user there and here is a list of all the services and they can be offered by the walking clinic now if I hard press on one of these services I can actually modify them so I could change this to be something like I don't know checkup or whatever like that we'll do an exclamation point that can be performed by a doctor I can update that and now you see we have that there and then obviously I can add services by putting them up here choosing who performs them and clicking at now this is useful use this allows the admin to kind of moderate which services are allowed to be offered by the different walking clinics okay so that is our admin user now the next user that I'm going to talk about is our employee user so actually login as one that I've already created just to save us a bit of time here and you can see that this is our employee on user kind of interface so we have a profile hours services and working hours so essentially kind of the theory behind this is each employee is responsible for one walking clinic and they're responsible for setting up that clinic profile so information say about like you know the road or the street address that this clinic is on as well as the phone number for the clinic and the name you know I can change this clinic name to just be cool clinic or something like that so we can see which one this is I can change the accepted payment methods and notice obviously we'll have some checks here so like let's say I don't enter a valid phone number then and I click Save please choose that one okay let's choose one of those now it should give us the pop-up message invalid phone number so there's checks to make sure all this works and if I click on this little trigger icon whatever this we want to call that will actually open up Google Maps and show us the address of what we're talking about all right so let's go back here let's actually hit save for this clinic profile that's gonna save that in the database now which I'm going to show you guys later next we can actually configure the clinic working hours so this is the hours that the clinic will be open for so this is important obviously to be able to set now this was an interesting decision on how we were gonna do this because technically you know what clinic could be open some days you get closed for a holiday you could be open one week and then maybe on Friday next week you don't want to be open so what we decided to do was allow the user to set the working hours for the clinic using these little time Pickers and then decide if a day was open or closed by simply clicking open or closed on this little toggle on the side now that can obviously change every week you could go in whenever you want and close a day without actually modifying these hours but you know that's up to you so save we'll save that change for us obviously and then here this little bit information about how this works in case anyone's confused when using this page awesome so we updated those the next thing to talk about is the clinic services now clinic services needs to be added by the employee so essentially the employee says well what services do our walk-in clinic adds they can have a look at all the services that and be offered and they can long press on one of them if they'd like them to be offered by their clinic and we can see that these are the ones that are currently offered next we have working hours which is simply kind of similar to clinic hours but this is actually working hours of the specific employee that's using this application so they're setting kind of their own shift or their own schedule don't ask me why we need this it's just was part of the rubric that we need to follow when creating this app okay so lastly I'm actually gonna sign in as a patient employee now or a patient employee as a patient user oh that's not a login so let's actually just create a new account and I'll show you that feature as well so let's make our name you know patient like that we make our username Tim I should just make it P Tim like patient Tim and then Bertie is the famous password okay so that's a patient account we'll click that we've created this account now it says welcome P Tim you are logged in as a patient and as a patient we can do two things which is book appointments or we can view and rate past appointments so if I show you and I view appointments here currently we have nothing but if I go to book slash check-in I can view the list of different clinics I can actually search for clinics based on name if I wanted to so in this case let's go Tim you can see that now that actually is gonna filter out and give me this clinic and it shows the rating for this clinic I can also search by address as well as the days of operation so what days the clinic they are open for it but by default it starts by just showing me all clinics that are available okay so let's look at Tim's clinic here we can see that it's rated 3 stars I can click this little icon again if I want to see the address in Google Maps and then I have a current waiting time so if I were to go to that walking clinic now how long would I have to wait to be seen and that I'll talk about later sometimes this messes up a little bit but you can see the list of clinics that are here first time when you click on it sometimes it doesn't show up just a database like there and this is actually what I can use to book an appointment so I'm in my clinic I can view the information about it and if I'd like to book an appointment well I can choose a date so let's maybe choose you know Tuesday the 10th is when I want to book an appointment I'll choose a time if I try to hit save in a time that is not available it's gonna tell me clinic is closed at that time so let's make this available let's go you know 1026 a.m. will same and notice when I do that it actually automatically rounds my time to the nearest 15 minute interval because that is when we allow appointments to be booked next I can click booked appointment give that a second that's gonna book the appointment for me and now if I go into view appointments I can actually view my upcoming appointments and click on that for some information or decide to cancel the appointment if I like now I'm just gonna make an appointment in the past quickly and show you guys how it works to rating past appointments okay so now I'm going to show you a more advanced feature of kind of the clinic booking check-in process so essentially what I've actually done if I view my appointments I've booked another appointment here so I've booked one that's actually at 8:30 which is in two minutes from what it is right now and I just want to show you what happens when I go to try to book another appointment so if I go to cool clinic you can see that it gives us a current estimated waiting time of 16 minutes now the reason we get this is because currently it's 829 and the next appointment will be finished at 8:45 because we booked one at 8:30 each appointment actually lasts 15 minutes so this is telling us essentially when is the next time from the current time that we could book another appointment that we could be seen so I think that that is pretty cool this is a feature that we needed to add it was mandatory for kind of a deliverable but to get it work properly with like time in the past and appointment stacking up is actually not as easy as it looks now I'm gonna go back to view appointments here and I'm gonna show you what happens as soon as this hits 8:30 where my appointments are actually gonna change so my appointment from the here that is you know at 8:30 is actually gonna go into the past appointments page as soon as we hit 8:30 all right so it's 8:30 now which means this appointment is officially in the past because you know it's actually just happened technically we could have made it at you know 8:45 once the appointments finished it goes in the past but I think this is more than fine and you can see that now when I have this past appointment there's a button that allows me to rape my service so how I felt that the service was so here you know this pumps up a little dialog I can choose the amount of stars I want to give this so maybe we'll give it five stars then it says you rated this five stars and if you click on it again you can see the rating that you gave it now I can also decide to remove this appointment from my list of past appointments so say I have a ton of different appointments here I can decide to remove that if I want to see you know my most recent ones or anything like that and then the upcoming appointment set on one anymore I can just cancel it by doing that alright so that has been 8 for my first ever Android application now don't get me wrong there's a ton of stuff that needs to be improved I'm gonna say right now for any of you guys that look at the github repository you were gonna be very disappointed when you read through the source code but I will say this project was on a deadline and kind of my last concern was writing good source code when you know I have a million things to do and all I need to do is finish this project so it's an absolute mess of a project you guys can read through it look at the source code if you want but please you know go easy on me because remember this is my first time building an Android app I had no plan and this is really just patch fixes whenever something went wrong anyways yeah that has been in I mean if you guys have made it this far let me know in the comments down below what you think of this app could I add anything to it is there anything that's really bad did you like something about it and are you interested in possibly building an Android app in the future personally I had a lot of fun doing this I learned a ton and I feel like I could go out there and build you know a proper Android oh now with the amount of knowledge that I've had so as always if you guys enjoyed leave a like on the video subscribe to the channel down below and if you want to run this app the github repository is in the description
Original Description
Have a look at my software engineering final project! This android app was developed for my software engineering final project alongside 4 other students. It is a walk in clinic app that allows patients, employees and an account administrator to create walk in clinics and book appointments. It is by no means complete or fully functional but does illustrate some concepts of android development.
This was the first android app I have ever built and I learned everything as I went! Please take it easy on me with the criticism xD
GitHub Repo: https://github.com/techwithtim/Walk-In-Clinic-Android-App
Playlist: https://www.youtube.com/watch?v=iLHAKXQBOoA&list=PLzMcBGfZo4-nTARLniGMmigJT7P17wDDX
◾◾◾◾◾
💻 Enroll in The Fundamentals of Programming w/ Python
https://tech-with-tim.teachable.com/p...
📸 Instagram: https://www.instagram.com/tech_with_tim
🌎 Website https://techwithtim.net
📱 Twitter: https://twitter.com/TechWithTimm
⭐ Discord: https://discord.gg/pr2k55t
📝 LinkedIn: https://www.linkedin.com/in/tim-rusci...
📂 GitHub: https://github.com/techwithtim
🔊 Podcast: https://anchor.fm/tech-with-tim
💵 One-Time Donations: https://www.paypal.com/donate/?token=...
💰 Patreon: https://www.patreon.com/techwithtim
◾◾◾◾◾◾
⚡ Please leave a LIKE and SUBSCRIBE for more content! ⚡
Tags:
- Tech With Tim
- Software Engineering Final Project
- Android App Final Project
- Computer Science Final Project
- Android App Project
- Final Project Android App
#Andoird #SoftwareEngineering #AppDevelopment
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Tech With Tim · Tech With Tim · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
A* Path Finding Algorithm(Visualization)
Tech With Tim
Python Programming Tutorial #1 - Variables and Data Types
Tech With Tim
Python Programming Tutorial #2 - Basic Operators and Input
Tech With Tim
Python Programming Tutorial #3 - Conditions
Tech With Tim
Python Programming Tutorial #4 - IF/ELIF/ELSE
Tech With Tim
Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Tech With Tim
Python Programming Tutorial #6 - For Loops
Tech With Tim
Python Programming Tutorial #7 - While Loops
Tech With Tim
Python Programming Tutorial #8 - Lists and Tuples
Tech With Tim
Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Tech With Tim
Python Programming Tutorial #10 - String Methods
Tech With Tim
How to Overclock a NVIDIA GPU
Tech With Tim
Python Programming Tutorial #11 - Slice Operator
Tech With Tim
Python Programming Tutorial #12 - Functions
Tech With Tim
Python Programming Tutorial #13 - How to Read a Text File
Tech With Tim
Python Programming Tutorial #14 - Writing to a Text File
Tech With Tim
Python Programming Tutorial #15 - Using .count() and .find()
Tech With Tim
Python Programming Tutorial #16 - Introduction to Modular Programming
Tech With Tim
Python Programming Tutorial #17 - Optional Parameters
Tech With Tim
Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Tech With Tim
Python Programming Tutorial #19 - Global vs Local Variables
Tech With Tim
Python Programming Tutorial #20 - Classes and Objects
Tech With Tim
Cool VBS Script to Prank Your Friends!
Tech With Tim
How to Overclock an AMD GPU
Tech With Tim
Best GPU'S For Mining Ethereum (2018)
Tech With Tim
Recursion and Memoization Tutorial Python
Tech With Tim
Ethereum Mining Rig - Hardware Guide
Tech With Tim
Pygame Tutorial #1 - Basic Movement and Key Presses
Tech With Tim
How to Install Pygame (Windows 8/10)
Tech With Tim
How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
Tech With Tim
How to Mine Ethereum 2018 - WORKING (Super-Easy)
Tech With Tim
Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Tech With Tim
Pygame Tutorial #2 - Jumping and Boundaries
Tech With Tim
Pygame Tutorial #3 - Character Animation & Sprites
Tech With Tim
Pygame Tutorial #4 - Optimization & OOP
Tech With Tim
OBS Studio Tutorial - Best OBS Settings
Tech With Tim
Linear Search Algorithm - Python Example and Code
Tech With Tim
Make Any Mic Sound AMAZING! (WITH OBS)
Tech With Tim
Binary Search Algorithm - Python Example & Code
Tech With Tim
Pygame Tutorial #5 - Projectiles
Tech With Tim
Pygame Game - Mini Golf
Tech With Tim
Pygame Tutorial - Projectile Motion (Part 1)
Tech With Tim
Pygame Tutorial - Projectile Motion (Part 2)
Tech With Tim
Pygame Tutorial #6 - Enemies
Tech With Tim
Pygame Tutorial #7 - Collision and Hit Boxes
Tech With Tim
Pygame Tutorial #8 - Scoring and Health Bars
Tech With Tim
Cloud Mining vs. Hardware Mining - 2018
Tech With Tim
How to Install Pygame on Mac OSX (Fast-Simple)
Tech With Tim
Pygame Tutorial #9 - Sound Effects, Music & More Collision
Tech With Tim
Pygame Tutorial #10 - Finishing Touches & Next Steps
Tech With Tim
How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
Tech With Tim
How to Create a Button in Pygame [CODE IN DESCRIPTION]
Tech With Tim
Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Tech With Tim
Pygame Side-Scroller Tutorial #2 - Random Object Generation
Tech With Tim
Pygame Side-Scroller Tutorial #3 - Collision
Tech With Tim
Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Tech With Tim
How to Create A Message Box in Python - Tkinter
Tech With Tim
Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Tech With Tim
How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
Tech With Tim
Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Tech With Tim
More on: LLM Foundations
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Embeddings Simplified
Medium · RAG
Building LSTMs with PyTorch and Lightning AI Part 7: Resuming Training with Checkpoints
Dev.to · Rijul Rajesh
How AI Learns with Less Labeled Data
Medium · AI
Comparing Sarvam-30B and Qwen2.5–14B on Spider Text-to-SQL: An Active-Parameter Perspective
Medium · LLM
🎓
Tutor Explanation
DeepCamp AI