Project: Android application for birth registration & newborn health data tracking

be patient and wait for feedback.

@r0bby @iainbarclay This is the link for my POC: https://github.com/Akash-Ramjyothi/Libre-Health-Android-App-Project.git

It follows Object-oriented Relational Mapping to store and retrieve data. the class named “storage.class” contains all the data in dynamic array format. It is inherits the “AppCompactActivity” and through multilevel inheritance, every class inherits the “storage.class” and the process is being carried out such as storing in variable and retrieving the same. However the validation process that you mentioned is NOT done in the “storage.class”. It is done on each activity’s onClickListener of the buttons which checks all the EditText components before storing or retrieving and then if the given data is invalid, it informs the user in the form of “TOASTS” and the activity does not changes in this case. And if the data is valid, it shows a success screen for a short duration and then automatically comes to the HOMPAGE of the app i.e the MainActivity.

If there are any further issues, please inform me. I have also included all the SCREENSHOTS ran on my ANDROID DEVICE on the README.md.

I did not run it as the code quality was not good.

Here is a list of issues:

  • Still not following Java Conventions for naming files. Yes, this matters a lot. The conventions you should be following are:
    • ThisIsAClassName
    • thisIsAVariableOrMethodName
    • THIS_IS_A_CONSTANT_NAME,
    • here.is.a.packagename".
    • When camelcasing an acronym, do DvdPlayer, not DVDPlayer.
    • Also, see Google’s Java Style Guide, which is based on the Java conventions. You should read this.
  • You didn’t actually implement an ORM correctly, or at all that I can see. Android has a library for this called Room, which I expected you to use.
  • What is hospitalid? I"m genuinely confused by that one.
  • I would expect you to understand how to organize your classes into packages – if you knew Java, you should know this. It’s a fundamental concept.
  • LibreHealth is one word, not two. It’s never hyphenated
  • This is supposed to also track health data such as vaccinations as well.
  • Validations should happen both client-side and in the database. Remember that it’s relatively easy to subvert your code and store invalid data in your database.
  • You don’t need to build this using Android Studio. You can build using ./gradlew installDebug(for macOS or Linux) or ./gradlew.bat installDebug(for Windows). There are command-line tools for managing virtual devices and Genymotion also exists. Genymotion uses VirtualBox.

I would honestly strongly discourage @iainbarclay and the other mentors from accepting you.

Here is why:

  • I gave you a strong hint about the conventions prior, yet you didn’t look them up, Also, why didn’t you pick up on the fact that MainActivity is named in the manner it is and yet all of your classes are different?
  • I expected a marked improvement in the code, that’s what we care about and I just don’t see it. We wanna see that you can organize code coherently into packages (without prompting).

I do not want to discourage you from sticking around and working on your skills but I’m not 100% sure that you would succeed this year.

Google Code-in is meant to teach students who are assumed to know nothing. Google Summer of Code requires you have the experience going in. I’m sorry.

All students should be making a Proof of concept application. You can leave out the backend but we want to see that you organize your code coherently. Store data client-side.

This is a requirement.

2 Likes

@r0bby So if I just rename the classes and other things in my project and validate the data from the class “storage.class”, will I be accepted? And in this forum I can see that I am the only guy working THIS much on the birth registration app… and I did not come this much far just to QUIT?

That was far from my only concern. This is a pattern I’ve seen where I give you a list of things and you don’t address them all. I didn’t give them to be mean, I did it because things weren’t done right.

@r0bby Ok so shall I rename them and send another repo LINK?

You don’t need a new repo to do this. Git tracks file renames.

To add onto my previous post: I will say however that I am very, very concerned that I brought up the fact that you did not follow the java coding conventions prior and you failed to address them when you made the changes you did. I’ve been giving you chances to show improvement and every time, you don’t.

@r0bby Here You go : https://github.com/Akash-Ramjyothi/Libre-Health-Android-App-Project.git

I have renamed the files.

This is precisely what I’m talking about. That was ONE of my issues.

What? I dont understand get your latest reply?

This has been a pattern with you. You don’t address all issues and this is problematic.

Re-read my feedback:

Ok so now you want me to use ROOM thats it right?

That’s one of the issues, yes. Keep reading.

My main concern is that you don’t have a lot of experience with Android or even Java.

So let me get experience in this project.

That’s not how GSoC works. You have to have experience going in.

Aside from your coding skills, you also fail to heed feedback – you’ll address one thing and then send it back but ignore all the other feedback. I can almost predict you failing at the midterm evaluation. I have been around GSoC for a very long time. I don’t take joy or glee in saying this. I know you’re trying, but you need to also have attention to detail, especially when you are working on an application for medical use.

Additionally, your model classes are Activities for some reason. That’s another issue. You’re failing to even follow Android’s naming conventions.

This is an android app I worked on:

Notice the package structure? The way I named the classes?

The backend is buggy right now so won’t work - probably won’t even work, but what I want you to see is how the code is structured.

link to my POC repository:

Please verify and give feedback.

Hi mentors, The project is really interesting to me. I will be happy to contribute this project. Now I need your help to prepare a good proposal for this project. I am eagerly waiting for your reply. Thank you.

others might be researching lot and cross verifying their stuff before submitting their draft proposals, this frequently. they also might have same doubts as you .so re-posting same thing isn’t apt at all.