Software Engineering Final Project - Android App Development

Tech With Tim · Beginner ·🧠 Large Language Models ·6y ago

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 A* Path Finding Algorithm(Visualization)
A* Path Finding Algorithm(Visualization)
Tech With Tim
2 Python Programming Tutorial #1 - Variables and Data Types
Python Programming Tutorial #1 - Variables and Data Types
Tech With Tim
3 Python Programming Tutorial #2 - Basic Operators and Input
Python Programming Tutorial #2 - Basic Operators and Input
Tech With Tim
4 Python Programming Tutorial #3 - Conditions
Python Programming Tutorial #3 - Conditions
Tech With Tim
5 Python Programming Tutorial #4 - IF/ELIF/ELSE
Python Programming Tutorial #4 - IF/ELIF/ELSE
Tech With Tim
6 Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Tech With Tim
7 Python Programming Tutorial #6 - For Loops
Python Programming Tutorial #6 - For Loops
Tech With Tim
8 Python Programming Tutorial #7 - While Loops
Python Programming Tutorial #7 - While Loops
Tech With Tim
9 Python Programming Tutorial #8 - Lists and Tuples
Python Programming Tutorial #8 - Lists and Tuples
Tech With Tim
10 Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Tech With Tim
11 Python Programming Tutorial #10 - String Methods
Python Programming Tutorial #10 - String Methods
Tech With Tim
12 How to Overclock a NVIDIA GPU
How to Overclock a NVIDIA GPU
Tech With Tim
13 Python Programming Tutorial #11 - Slice Operator
Python Programming Tutorial #11 - Slice Operator
Tech With Tim
14 Python Programming Tutorial #12 - Functions
Python Programming Tutorial #12 - Functions
Tech With Tim
15 Python Programming Tutorial #13 - How to Read a Text File
Python Programming Tutorial #13 - How to Read a Text File
Tech With Tim
16 Python Programming Tutorial #14 - Writing to a Text File
Python Programming Tutorial #14 - Writing to a Text File
Tech With Tim
17 Python Programming Tutorial #15 - Using .count() and .find()
Python Programming Tutorial #15 - Using .count() and .find()
Tech With Tim
18 Python Programming Tutorial #16 - Introduction to Modular Programming
Python Programming Tutorial #16 - Introduction to Modular Programming
Tech With Tim
19 Python Programming Tutorial #17 - Optional Parameters
Python Programming Tutorial #17 - Optional Parameters
Tech With Tim
20 Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Tech With Tim
21 Python Programming Tutorial #19 - Global vs Local Variables
Python Programming Tutorial #19 - Global vs Local Variables
Tech With Tim
22 Python Programming Tutorial #20 - Classes and Objects
Python Programming Tutorial #20 - Classes and Objects
Tech With Tim
23 Cool VBS Script to Prank Your Friends!
Cool VBS Script to Prank Your Friends!
Tech With Tim
24 How to Overclock an AMD GPU
How to Overclock an AMD GPU
Tech With Tim
25 Best GPU'S For Mining Ethereum (2018)
Best GPU'S For Mining Ethereum (2018)
Tech With Tim
26 Recursion and Memoization Tutorial Python
Recursion and Memoization Tutorial Python
Tech With Tim
27 Ethereum Mining Rig - Hardware Guide
Ethereum Mining Rig - Hardware Guide
Tech With Tim
28 Pygame Tutorial #1 - Basic Movement and Key Presses
Pygame Tutorial #1 - Basic Movement and Key Presses
Tech With Tim
29 How to Install Pygame (Windows 8/10)
How to Install Pygame (Windows 8/10)
Tech With Tim
30 How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
Tech With Tim
31 How to Mine Ethereum 2018 - WORKING (Super-Easy)
How to Mine Ethereum 2018 - WORKING (Super-Easy)
Tech With Tim
32 Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Tech With Tim
33 Pygame Tutorial #2 - Jumping and Boundaries
Pygame Tutorial #2 - Jumping and Boundaries
Tech With Tim
34 Pygame Tutorial #3 - Character Animation & Sprites
Pygame Tutorial #3 - Character Animation & Sprites
Tech With Tim
35 Pygame Tutorial #4 - Optimization & OOP
Pygame Tutorial #4 - Optimization & OOP
Tech With Tim
36 OBS Studio Tutorial - Best OBS Settings
OBS Studio Tutorial - Best OBS Settings
Tech With Tim
37 Linear Search Algorithm - Python Example and Code
Linear Search Algorithm - Python Example and Code
Tech With Tim
38 Make Any Mic Sound AMAZING! (WITH OBS)
Make Any Mic Sound AMAZING! (WITH OBS)
Tech With Tim
39 Binary Search Algorithm - Python Example & Code
Binary Search Algorithm - Python Example & Code
Tech With Tim
40 Pygame Tutorial #5 - Projectiles
Pygame Tutorial #5 - Projectiles
Tech With Tim
41 Pygame Game - Mini Golf
Pygame Game - Mini Golf
Tech With Tim
42 Pygame Tutorial - Projectile Motion (Part 1)
Pygame Tutorial - Projectile Motion (Part 1)
Tech With Tim
43 Pygame Tutorial - Projectile Motion (Part 2)
Pygame Tutorial - Projectile Motion (Part 2)
Tech With Tim
44 Pygame Tutorial #6 - Enemies
Pygame Tutorial #6 - Enemies
Tech With Tim
45 Pygame Tutorial #7 - Collision and Hit Boxes
Pygame Tutorial #7 - Collision and Hit Boxes
Tech With Tim
46 Pygame Tutorial #8 - Scoring and Health Bars
Pygame Tutorial #8 - Scoring and Health Bars
Tech With Tim
47 Cloud Mining vs. Hardware Mining - 2018
Cloud Mining vs. Hardware Mining - 2018
Tech With Tim
48 How to Install Pygame on Mac OSX (Fast-Simple)
How to Install Pygame on Mac OSX (Fast-Simple)
Tech With Tim
49 Pygame Tutorial #9 - Sound Effects, Music & More Collision
Pygame Tutorial #9 - Sound Effects, Music & More Collision
Tech With Tim
50 Pygame Tutorial #10 - Finishing Touches & Next Steps
Pygame Tutorial #10 - Finishing Touches & Next Steps
Tech With Tim
51 How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
Tech With Tim
52 How to Create a Button in Pygame [CODE IN DESCRIPTION]
How to Create a Button in Pygame [CODE IN DESCRIPTION]
Tech With Tim
53 Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Tech With Tim
54 Pygame Side-Scroller Tutorial #2 - Random Object Generation
Pygame Side-Scroller Tutorial #2 - Random Object Generation
Tech With Tim
55 Pygame Side-Scroller Tutorial #3 - Collision
Pygame Side-Scroller Tutorial #3 - Collision
Tech With Tim
56 Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Tech With Tim
57 How to Create A Message Box in Python - Tkinter
How to Create A Message Box in Python - Tkinter
Tech With Tim
58 Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Tech With Tim
59 How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
Tech With Tim
60 Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Tech With Tim

The video showcases the development of an Android app for a walk-in clinic organizer, covering features such as user management, clinic profile management, and appointment booking. The app was built using Java, Android Studio, and Google Maps. The creator learned a lot from the experience and is interested in building more Android apps in the future.

Key Takeaways
  1. Create an admin user with ability to create, modify, and delete services and users
  2. Create an employee user with ability to set up clinic profile and working hours
  3. Implement checks for valid phone number and payment methods
  4. Use Google Maps to show clinic address
  5. Save clinic profile and working hours
  6. Set working hours using time pickers and toggles
  7. Add clinic services using a list of available services
  8. Book appointments and view past appointments as a patient user
  9. View and rate clinic information as a patient user
💡 The app's development was done on a deadline with no plan, resulting in a messy source code, but the creator learned a lot from the experience and is interested in building more Android apps in the future.

Related AI Lessons

Embeddings Simplified
Learn the basics of embeddings and how they simplify complex data, a crucial concept in AI and ML
Medium · RAG
Building LSTMs with PyTorch and Lightning AI Part 7: Resuming Training with Checkpoints
Learn to resume LSTM training with checkpoints using PyTorch and Lightning AI, enabling efficient model iteration and development
Dev.to · Rijul Rajesh
How AI Learns with Less Labeled Data
Learn how AI can learn with less labeled data, a crucial aspect of machine learning beyond model selection
Medium · AI
Comparing Sarvam-30B and Qwen2.5–14B on Spider Text-to-SQL: An Active-Parameter Perspective
Learn how to compare large language models like Sarvam-30B and Qwen2.5-14B on the Spider Text-to-SQL benchmark from an active-parameter perspective
Medium · LLM
Up next
5 Levels of AI Agents - From Simple LLM Calls to Multi-Agent Systems
Dave Ebbelaar (LLM Eng)
Watch →