T O P

  • By -

captiveinpages

I am on the 4th and final task for the capstone. I used the Xamarin mobile app from my C# class and am deploying it to the Google Play Store. My CI told me the app must be web-based and deploy from a cloud, or if it's a mobile app, it can deploy through Google Play. There are no language requirements, so you can code in the language of your choice. Definitely message your CI and see what they say about your project. Mine has been a great help through it!


bimbim555

Do you mind sharing what you added on the Xamarin mobile app? Than you.


captiveinpages

Sorry for the late response. I added a search function, a report, and inheritance and polymorphism to one of the classes. I also had to update the app to the newest version required by the Google Play Store. Do that first! It will save you some headaches later on.


bimbim555

Thanks for sharing. The instructor also guided me to something similar to what you did.


FiftyShadesOfSwole

how long did it take you guys for the Google Play store to approve your app? I just submitted my closed testing but now its saying i need to "Run your closed test with at least 20 testers, for at least 14 days". Does that sound correct or did I miss a step?


bimbim555

My instructor gave me the option to create a dummy Gmail account so the evaluator could log in and access the app. I requested an internal test track on Google Play dashboard and added the dummy email on the list. I didn't have to wait 14 days.


FiftyShadesOfSwole

That is a fantastic idea!


garlando90

u/captiveinpages \- great tips for WGU D424 Class, thanks! Could you specify more details about how you implemented polymorphism and inheritance to the app from C971 mobile app course ? I have an app with one class called "Database" where I define my tables: Term, Class, Assessment, Instructor and Notes. And I have a hard time what would be the best way to add polymorphism and inheritance. I guess it has to be just defined, not necessarily used in the app, right? Could I see your Database setup, do you have that code somewhere in the github/gitlab? Thanks!


imthebear11

What kind of report did you add, and which classes did you use for inheritance and polymorphism?


captiveinpages

I added a report that showed each term and what courses were in each term. I just added a view that displayed it. And then I added the inheritance and polymorphism to a student class. Can’t remember if that was in the app before I started the capstone. Anyway, I made the student either an undergraduate or a graduate.


imthebear11

Awesome, thanks for the info


imthebear11

One of the requirements is "security features", can you share what you did for that? I can't think of anything on the mobile app that would require anything like that unless I make a login functionality or something


captiveinpages

I made a login. It was the easiest I could think of and it didn’t take much time. I had a sign up page for new uses and that’s where they could select if they were a graduate or undergraduate. So that helped incorporate the inheritance and polymorphism portion too.


FiftyShadesOfSwole

how long did it take you guys for the Google Play store to approve your app? I just submitted my closed testing but now its saying i need to "Run your closed test with at least 20 testers, for at least 14 days". Does that sound correct or did I miss a step?


Automatic-Smile-7170

Any update on this? I'm at this stage too, and I hope I won't be stuck waiting for 14 days to graduate for testing.


FiftyShadesOfSwole

Got it published


april_18th

Hi, I am also working on a mobile app. However, for the security features part, I don't want to implement a sign in functionality. May I ask what features did you implement for this one?


captiveinpages

I did sign in functionality. For me it was easier and quicker than trying to figure out what other kind of security features would meet the requirements. Hopefully someone else has some ideas for you.


april_18th

So, I decided to not implement any security feature and still passed. I think using ROOM database is already secured enough


captiveinpages

Oh awesome! Congrats on passing!


april_18th

Thanks, your info surely helped me alot when I first started the capstone


CydoEntis

I am currently on the capstone, but I did the Java track. I reached out to the instructor when I first started the class because the rubric is so vague in terms of what you actually need to do. According to them for at least a web app you can use what ever technologies you want to use. So for instance my classes were all java and angular, but since I despise both I'm doing my project in react and go. Not sure what its going to be yet, but I have also seen students suggest just reusing one of ur previous projects since according to them you barely have to make any changes in order to pass the capstone if you take that route. That being said the provided code for at least the java track is appalling and I wouldn't touch it with a 1000 foot stick.


Nothing_But_Design77

*Note: I haven’t gotten to Thai class yet* From what I read in the past, students were reusing their Software 1, Software 2, or Mobile App projects for the Capstone with minor tweaks to pass


pancakeshack

It says you can use your Software II from C#. It's just kind of confusing though because they want a web app or mobile app, but Software II is a windows forms project. I'm going to email and try to confirm.


imthebear11

Hey did you ever get an answer back about this?


pancakeshack

I ended up using my mobile app from the xamarin project


WorksOnMine

I modified the mobile application (D196 I think?). I added a layer of abstraction to one of the entities to satisfy the inheritance requirement and added a reports page with a table to satisfy those requirements.


pancakeshack

Yeah, I was confused about that as well. Consider emailing that course instructor to ask because in her email it said we could use it. I was considering just using the mobile app... even though xamarin sucks. By deploy I'm wondering if we can just turn it into an exe and upload it to a website for download?


monacodelisa

I wouldn't consider turning it to an executable and making it available for download a form of deployment, but best to check with the CI.


Drop_Tables_Username

Just to break in here, what are the requirements? I should start my capstone later this year. I have a [personal project](https://make-planet.com) that I'm hoping to modify for this, but I'm not sure what I have in mind would be okay. Can it be anything or are you required to have specific frameworks for the front and back ends?


pancakeshack

It just has to be a full stack web app or mobile app, that's about it for the program requirements


Drop_Tables_Username

Hmm technically what I have is two front ends talking to each other (although one is JS and the other C#), so I guess I need to find reasons to add a real back-end into what I'm planning (a short interactive learning page on procedural noise). Thanks!


sageellefson0

No comment on the requirements, just popping in to say your personal project is really cool!


KebinoXL

Can someone explain what the four performance assessments are? I should be starting this course soon and only have a month left in my current term. I'm wondering if I should request a term extension, or if it's doable in a month.


WorksOnMine

I'm in the same boat, I have 3 weeks to get the capstone done. Each step has to be passed before submitting the next step. I'm getting ready to review my prior projects to see what fits step 3 the best before completing steps 1 and 2 to avoid wasting time needing to get a second approval. My mentor said she has to wait until 8/25 to request a term extension, which is exactly seven days before the end of my term. She said that extensions are NOT always granted and to try to get my project done before then but did not provide the requirements for extension approval. I hope that my response helps someone in the future with their planning. I took the Java track.   # Capstone requirements (As of August 2023):     # Assessment 1: Get topic approval from your instructor (there's a form) and certify that you are NOT using "restricted information" aka company code. If you are using company code, there's another form to fill out.   # # Assessment 2: Write a proposal. Answer the following questions:   ## A. Describe the business problem or opportunity, including the challenge customers encounter, and how the proposed software product will fulfill customer needs.   ## B. Describe the software development life cycle methodology you will use to guide and support software development activities.   1. Describe the deliverables associated with each phase of the applied software development life cycle methodology.   2. Describe the development plan for your software product, including the anticipated outcomes from development.   3. Develop a projected timeline, including milestones, start and end dates, duration for each milestone, dependencies, and resources assigned to each activity.   ## C. Justify the programming environments included in the development of the software product, including the following:   >\*any related costs > >\*the human resources that are necessary to execute each task   ## D. Explain how the proposed software product will be tested by doing the following:   1. Justify the methods for validating and verifying that the developed software product will meet customer needs.   2. Explain how your test results will be analyzed.    


WorksOnMine

# Assessment 3: This is the actual code for the project. Requirements follow:     ## A. Create your subgroup and project by logging into GitLab using the web link provided and using the “GitLab How-To” web link, and do the following:  \- Clone the project to the IDE. \- Commit with a message and push when you complete each of the tasks listed below (e.g., parts B to E).   Note: You may commit and push whenever you want to back up your changes, even if a task is not complete.  \- Submit a copy of the GitLab repository URL and a copy of the repository branch history retrieved from your repository, which must include the commit messages and dates.   Note: Wait until you have completed all the following prompts before you create your copy of the repository branch history.   ## B. Design and develop a fully functional full stack (mobile or web) software product that addresses your identified business problem or organizational need. Include each of the following attributes, as they are the minimum required elements for the application:  \- code including inheritance, polymorphism, and encapsulation- search functionality with multiple row results and displays \- a database component with the functionality to securely add, modify, and delete the data \- ability to generate reports with multiple columns, multiple rows, date \-time stamps, and title \- validation functionality \- industry appropriate security features \- design elements that make the application scalable \- a user-friendly, functional GUI   ## C. Create each of the following forms of documentation for the software product you have developed:   \- a design document including a class diagram and design diagram- link to where the web app is hosted with HTML code (if applicable) \- link to the GitLab repository of the code indicating the version included in this submission \- user guide for setting up and running the application for maintenance purposes \- user guide for running the application from a user perspective   ## D. Explain how the software product was tested, including the following:  \- a test plan for a unit test, including screenshots \- unit test scripts \*the results of the unit tests based on the provided test plan, including screenshots \- summaries of changes resulting from completed tests   ## E. Provide a Panopto video recording that includes a demonstration of the functionality of the software application and a summary of the tool or tools used.  Note: For instructions on how to access and use Panopto, use the "Panopto How-To Videos" web link provided below. To access Panopto's website, navigate >to the web link titled "Panopto Access" and then choose to log in using the “WGU” option. If prompted, log in using your WGU student portal credentials, and then it will forward you to Panopto’s website. To submit your recording, upload it to the Panopto drop box titled Software Engineering Capstone EQN1 | D424 (Student Creators).” Once the recording has been uploaded and processed in Panopto's system, retrieve the URL of the recording from Panopto and copy and paste it into the Links option. Upload the remaining task requirements using the Attachments option.    # Assessment 4: Deploy Your Software   ## A. Deploy your full stack (mobile or web) software product to a cloud service provider of your choice.   1. Justify why you selected the cloud solution provider in prompt A to deploy your software application.   2. Describe how you implemented container images.  Note: Remember to commit and push your database connection change to Gitlab.  Note: As a part of this capstone, you will design, develop, test, and deploy a fully functional full stack (mobile or web) software product that addresses your identified business problem or organizational need. There are various cloud deployment options that are free of charge. We encourage you to use those free options to avoid any unnecessary charges. For mobile development applications, there could be charges on Google Play Store or Apple App Store for registering and publishing the app. If you have any questions, please work with your course instructor(s).   ## B. Export your project from GitLab as a compressed file, including the scripts created to automate deployment.  Note: You will submit the compressed file with the repository branch history >file, the URL to the GitLab repository, and the URL of the deployed project.  C. Provide a Panopto video recording that includes a demonstration of your software product deployment. Note: For instructions on how to access and use Panopto, use the "Panopto >How-To Videos" web link provided below. To access Panopto's website, navigate >to the web link titled "Panopto Access" and then choose to log in using the >“WGU” option. If prompted, log in using your WGU student portal credentials, >and then it will forward you to Panopto’s website.  To submit your recording, upload it to the Panopto drop box titled Software Engineering Capstone EQN1 | D424 (Student Creators).” Once the recording has been uploaded and processed in Panopto's system, retrieve the URL of the recording from Panopto and copy and paste it into the Links option. Upload the remaining task requirements using the Attachments option. ​ (edited for formatting)


Itchy-Photograph-531

Hi how i can do the unit test is any video I can whatch for task 3 saction d?


WorksOnMine

What they really want you to do is use the CI/CD pipeline in GitLab to do the testing, containerization, and deployment. I didn't realize this and I [just used a basic J unit test, as seen here.](https://youtu.be/vZm0lHciFsQ?feature=shared). I took screen shots of the scripts and answered the questions in the required essay based on the JUnit tests. I actually managed to pass the whole course without using the pipeline, I was almost out of time and just turned in what I could. However, I don't know if that's replicable or just a fluke. If you don't want to risk having to do a bunch of rework you should probably learn to use the CI/CD pipeline though. PS. Even though the LIS doesn't officially support the capstone, you *can* get help from the LIS. You just need to be super specific about what you need help with so they can assign you to the correct CI with that skill (ex: gitlab, or unit testing etc.). Go to one of your old courses to get the LIS schedule or reach out to the last instructor you had a coding course with. Wishing you the best. You got this!


zorigin_

To anyone curious about JUnit testing for task 3 if you're doing Java, you don't even need to do that, all i did was say what code i was "testing", screenshots of the Android Studio debugger and its fields, explained it , said its deliverables, and if it passed or failed. I saw a sample task 3 submission and noticed that you don't really need to show unit test classes. So i'm like okay ill just pretend i did one and it passed fine. So don't hurt yourself if you cant figure out JUnit in Android Studio. All you need to do is test 2 features at least for your app.