Team GirlsCode MK (Bahmni)
- Starts On
- July 01, 2018
- Finishes On
- September 30, 2018
- Last Activity
- September 20, 2018
September 20, 2018
Team GirlsCode MK (Bahmni) — at September 20, 2018 15:19 UTC
Eva went to vue.js workshop and has worked remotely. She will update workshop separately. She has been extracting common components in buttons so that this can be reused if the app needs expanding and more buttons need adding.
Georgina has worked from home. I have been evaluating react tables. After learning how to create a table from scratch and understanding the concepts. I have been looking in more detail at the four choices that Angshu gave for Bahmni. I have contacted our mentor to find out more about what he wants the library to do and the criteria is the ability to deal with large amount of fetched data in region of 100's of records.
There is also a new design for the table so that the row is clickable. Eva sent a message to clarify once this is clicked on what api will be called. We have both been looking at the logic of this feature.
Create additional clones to test install of libraries without affecting the existing app
Continue to work with table, learn more about pagination, sorting, and filtering
Meeting with mentor Ivo tomorrow.
Error popup for error on fetch call has now been designed by Konrad and is on the invisionApp.
September 19, 2018
Team GirlsCode MK (Bahmni) — at September 19, 2018 18:34 UTC
- I've met up with a ReactJS coach yesterday during the GirlsCode meetup and it was great to talk a bit more about testing, react and react router. He also shared his experience of working with GraphQL - a technology that is often used with ReactJS ("think REST API 2.0", he said). Also, styled components are a thing!
- I spent a good deal of my day dealing with a Button component (silly Button!), still not there yet, but hopefully, I can finish it up tomorrow
- cleaning up CSS
- finishing up the button component
- finishing up the display table: including pagination and limiting how many results are displayed at one point. Also dynamic rendering of search results?
- I'm going to London tomorrow afternoon to do a beginner's course on Vue.js and meet the Vue Vixens!
- meet with coach Ivo
- create an Alexa skill!
Team GirlsCode MK (Bahmni) — at September 19, 2018 18:19 UTC
Met up irl at bletchley park. Good session on css styles. Eva shared her way of grabbing the element using the inspect on a browser and right click on the three dots on the relevant line and then click on copy and select copy selector. I think this will save me lots of headaches of css however it still looks ugly. I think I need to change my purist thinking.
We solved a few problems with the spinner size on the search button and changing the text with search or searching depending on the logic.
We sent messages on slack to mentor to look at a potential design of a pop up if the fetch api fails, he replied promptly to send message to bahmni group for decision.
RGSoC meetup - talk on learning mindset. I was very supported by both Annas and it was good to practice. Lesson learnt I need to make sure the toolbar with peoples faces on zoom is at the top of the screen otherwise I naturally look down and then I am not looking at the camera.
Changed the styling of the 2nd blog post, added another image and added whitespace so markdown worked.
Keep looking at react tables
Continue to restyle the button on search form
Meetup with Ivo
Finish current story and feedback from mentor
Check for new designs and feedback in invisionapp
Video interview for RGSoC 2018 documentary
September 17, 2018
Team GirlsCode MK (Bahmni) — at September 17, 2018 16:06 UTC
- progress report from Georgina
- meeting to discuss how we can best divide our tasks and finish the story
- separating the index.css into modules
- meeting with coach Ramón to share updates (he is on his holiday in Korea and still keeping track of us!)
- adding tests to the person dashboard page
- finalizing the CSS styles
- extracting reusable components (search and submit buttons)
- meet with coach Ivo
- Georgina has a presentation tomorrow at the RGSoC meeting
- GirlsCode MK workshop tomorrow
- Going to Vue.js conference on Friday! (Eva)
September 15, 2018
Team GirlsCode MK (Bahmni) — at September 15, 2018 23:00 UTC
Draft of 2nd blog post - information created, review of instructions, markup language and how to do a pull request to summer of code.
A bike ride with my son and daughter. My daughter is down to one stabiliser and gaining in confidence and my son is now riding up and down hills (now to work on the braking!!)
Review blog and add some pictures, infographics especially after the session from ProgNET conference on visualisation.
Bahmni project - wanting to get as much done as we can -
Restyle the search form to new design, and fix the spinner for search form
The UI design of the table for the search form
Create new tests based on the model test that a coach has helped with
September 14, 2018
Team GirlsCode MK (Bahmni) — at September 14, 2018 22:39 UTC
Communicated with coach via slack and read through his sample code that will test a fetch api, he also gave us a link to useful materials to test react.
Blog of conference started for day 3, again I tagged #ProgNET on twitter with screen shots. I attended the following talk and workshop;
@ Keynote speech - Trisha Gee - Career advice for programmers - This was very useful and I have copied the links of resources . The list of skills other than technical skills that programmers have are research, ask questions, communication skills, be adaptable, scientific method, as well as good English, especially reading english. @ Rachel Appel - Build data driven Web apps using ASP.Net Core. This was an intense 3.5 hour workshop. She went through lots of points I didn't know and I felt very much out of depth, it was an intermediate level workshop but I thought this more relevant to the project I am working on. She was explaining and had a demo on a windows pc which didn't apply to my mac. I was lost at the beginning of the workshop. However I had the internet so I went to the resource page and started working through creating the app but on a mac. I have developed my confidence since RGSoC as I felt that I was just learning and didn't need to do exactly what everybody else was doing as I was learning at my own pace and in my own way. I created my app, I found Rachel Appel's github and was able to create the app in the time and felt good that I had struggled through and began to understand asp.net core and create a basic app which had a chat component. @ Ruby Gem - evolution through visualisation - This was a great workshop covered history from waterfall, scrum, KanBan and then introduced single piece flow. It also introduced creating stories rather than cards to explain what your app/feature will do. We then spent time creating a cartoon to visualise this story. Out of all the groups my group came second and won some chocolate caramels! We also covered briefly event storming, service mapping, impact mapping, roadmaps, sprints, church roof progress. It was interesting to look at the different visual ways that development can be communicated that can be accessible to all parts of the business. @Amie D Dansby - Making useless stuff: - a tale of magic, code and the unknown - This was the closing keynote for the conference. She talked about taking something you were good at and trying something new and making lots of mistakes but having fun. She creates 3d prints of dragon scales with leds for costumes, this is her part time hobby passion from her day job of developing in the game industry.
I have really enjoyed attending this conference and I have met and connected with some lovely people. I have felt more confident holding technical development conversations with them and happy to ask them questions about their developer's career, their jobs and past projects. The conference was attended by about 95% male, however the speakers were 33% women.
Design talk on "mindset of learning" for RGSoC meetup
Continue with design of 2nd Blog. Chatted with eva via imessage to get more information.
Complete and put in a pull request for 2nd blog.
Restyle the search form to new design, and fix the spinner for search form.
The UI design of the table for the search form
Create new tests based on the model test that a coach has helped with.
September 13, 2018
Team GirlsCode MK (Bahmni) — at September 13, 2018 19:40 UTC
Created a simple test for Search form needs to expanded upon. Waiting for coach session, will try to arrange when EVA back from slovenia.
CSS functionality of the search button on search form is nearly like the design. Created separate child components for icon and text so they can be styled independently.
Blog of conference started for day 2, again I tagged #ProgNET on twitter with screen shots. I attended the following talk and workshop;
@ Shawn Wildermuth - keynote talk "Turning passion into experience" - This was a great talk for day 2. Key take aways - fake it till you make it...but with the caveat fake confidence do not fake ability. As ability you will be found out. It is ok to say you don't know something. Employers are looking for people that are keen to keep learning not just having all the skills they want as technologies change but they want people to adapt and keep learning too. @ Michael Newton - Fable workshop "Fabled Pokemon" - This was a three hour workshop that went so quick. I was having so much fun and learning too. Fable is using React as the core application and using F sharp and Fable as wrappers. So although the code looked and the syntax was very different the components and the concept that code is broken into components, functions and modules was not completely foreign. Ramón would love this pokeapi.co which can be used with fetch requests to return data about Pokemons. Such a great idea for a workshop, such fun for children and older children. I am still looking for Pikachu but my basic app was working!
I also got a big tip from another lady who was attending the workshop. In terminal (cmd line) she initialised the directory where the workshop code was, went to git hub, created a repository, copied the push and head lines, went back to terminal (cmd line). Added files, committed with initial commit message and pushed to github with copied lines. She was then able to change the code and have a history of learning and code changes to review after the workshop. Also this was then available for future employees! Thank you Layla for that tip :)
She also was very inspiring in the fact that she was asking questions throughout the workshop to help her understanding but it also helped others in the workshop who were struggling over the same understanding.
Design talk on "mindset of learning" for RGSoC meetup but also to develop for a lightening talk to have just in case the opportunity arises. Ramón and Anna have been so generous and have offered to help me develop this skill.
Continue with design of 2nd Blog.
Complete and put in a pull request for 2nd blog after EVA has had a chance to review and add her part.
The UI design of the table to display the data results from the Fetch API has been done. Slack is so useful as I have been able to keep up to date with the conversation of the design even at a conference.
September 12, 2018
Team GirlsCode MK (Bahmni) — at September 12, 2018 20:41 UTC
Attended ProgNet conference. Tagged #ProgNet on twitter. Got to chat to lots of programmers, socialise and gather information not just technically but also attitudes to different technologies and development of software. Talks I attended -
@ Udi Dahan - Own the future - talked about the future of software and also the history. @ Luce Carter - Zero to mobile hero - intro to xamarin and visual studio team services - this was interesting to see as a comparison to react native and how quickly it was to create an app. a fantastic example that she referred to was health care software app which is a mobile chest xray, and a skin cancer prediction using ai app. She also introduced me to azure devops continuous integration which was great as I had a reference point using Travis CI with our project. @ Rabeb Othmani - Combining the power of bots & Microsoft Azure to build the apps of the future - apart from her talk she taught me how to maintain composure when her laptop with her slides, demo and code had a blue screen of death 5 mins into her talk. She smiled, was honest and had a sense of humour. All whilst rebooting her machine and getting another laptop prepped as a back up if her laptop didn't recover. @Rachel Appel - Build Real-Time High-Performing Software with ASP.NET Core - This was very relevant to the project that I am working on as it was all about http calls, issues and seeing both sides of the api - server and client. I was introduced to @ Willow Rendle - from scratch to unity 3d - learning to code by making games - This was a great talk by a 12 year old girl that was sharing her programming journey from scratch, hopscotch and now Unity 3d. She did a live demo, showed a project she had worked on and was very funny. Great inspiration for women coders! @ Mete Atamel - google home meets containers on google cloud. This was another good talk about technologies I didn't even know about. Again I was listening to not just his content of his talk but how he introduced his talk, he gave very clear expectations and how his machine was going to simulate a google home device for performance reasons. He also had two great infographics that were very easy to understand the technologies emphasising the importance of powerful slides.
The closing talk was a panel in the style of "have I got new for you". This was really funny and great stories related to technology. My favourite was a history of commitment messages for github. It made me think of some of the messages I have done.
Looking at Jest Test for Search form, easy test, does it render search input component and a button. Need to look at how to test fetch api requests and when their is a response the state of the search form is updated with the data. Coach that I spoke to is going to help with this.
Continue to look at CSS refactoring and the implications of breaking apart the index.css with inherited styling.
Blog of conference started, have emailed RGSoC as to where to put this blog. I looked a medium and signing up as a writer. So as well as doing talks, look at writing more as I want to share what I have learnt to a wider audience.
Second blog..gathering ideas of how to present what we have learnt in a fun but informative way.
SVG inline styling for the search icon so that this can be a child of the button, along with the text so that they can be styled independently.
Waiting for the UI design of the table to display the data results from the Fetch API. So until we get this review the libraries of react tables. https://github.com/adazzle/react-data-grid, https://react-table.js.org/#/story/readme, https://github.com/bvaughn/react-virtualized and https://reactabular.js.org/
Look for duplicate code that can be refactored.
September 11, 2018
Team GirlsCode MK (Bahmni) — at September 11, 2018 21:08 UTC
Met with Bahmni mentor to review current story and progress. Shared screen on zoom to show code and talk through reasoning. Ivo then made a small list of changes and kindly emailed his notes, he is very methodical and great mentor when learning.
Added a legend to the Search Form and put a border around the input and button to separate in preparation for displaying the data.
Created fake data on another branch to understand how this data can be manipulated.
Met with coach to discuss REST API, Testing, CSS. Explained to coach and shared screen on zoom to show our current progress of our app. This is good practice and although I am familiar with the app it is helping me to understand it better by explaining and answering questions.
He explained about- encodeURIComponent("v=bob&name=g") encoding query params so that if a person has special characters in their name it would still be able to return the relevant data. This may become necessary when we are testing on names in their local area.
Our search form doesn't have any tests at the moment, so discussed with coach different testing options from snapshot to using Cypress.io. He is going to put together some information so that we can build upon and create for our app.
CSS classnames - looked at names and changing them to be more specific so that they don't get reused inadvertently for example rather than just button calling it search-button.
Consistency consistency consistency when making changes to the Navbar although there are several ways to create the links, keep to one way.
My feeling today and learning is that I have a greater appreciation of people coding CSS. It is an art. I talked with our Bahmni mentor and he expressed how people need to see both sides of development back and front so that people have an appreciation of each other and although different everybody has their skill.
Index.CSS needs to be organised and different CSS files created and grouped together per component. This will make it clearer what are global CSS and component classes.
Work on the visual side of user interface with particular attention to flex wrap when the screen resizes, positioning of SVG files in buttons.
Waiting for the UI design of the table to display the data results from the Fetch API. So until we get this review the libraries of react tables. https://github.com/adazzle/react-data-grid, https://react-table.js.org/#/story/readme, https://github.com/bvaughn/react-virtualized and https://reactabular.js.org/
Another story waiting for analysis in Jira which is to connect our app with the existing Bahmni system!
Look for duplicate code especially on button logic and see if this can be extracted into a generic component.
September 10, 2018
Team GirlsCode MK (Bahmni) — at September 10, 2018 17:51 UTC
Eva is on holiday in Slovenia however I still see the occasional post in the girls code community.
We have been offered tickets through RGSoC for https://2018.reactjsday.it/ I now need to search flights, hotel as its not long till oct 5th! Unfortunately Eva won't be able to make this one. But I am hoping to tweet, blog post and share as much of the experience as possible online. Excited! :) . I am also out of my comfort zone but going to apply to do a first time talk and share my experience of React with the Bahmni project.
I have also won another conference ticket through a diversity raffle in London. https://skillsmatter.com/conferences/10107-prognet-london-2018# . This is looking at .net technologies. This is again out of my comfort zone. I have not done a lot on .net but I am very interested in Kubernetics, docker, and this is related to our Bahmni project which is building an app with data being stored and retrieved. It also has some soft talks on Turning Passion into Experience, and Career Advice For Programmers.
I have been working through the React course with codewithmosh and looking at displaying data from fetch API into a table whilst waiting on an update from designer as to how they want it to look.
The OPEN MRS community is amazing. As part of our story we need to filter persons so that it doesn't show users, providers etc . I haven't posted into a developer community network before and I was a bit worried I wouldn't be understood or make clear my problem. However the replies I have got from several users has helped me and our mentor move on with the development of our app. Open source have such great knowledge and experience to share. I will using this resource more for learning too from previous posts.
Creating a table in our app with data from REST API response.
Working on the next blog post that is due on 17 Sept. Is this really our last blog with RGSoC it seems like yesterday when we were taking photos and working on our first blog post.
Meet with Ivo our Bahmni mentor tomorrow.
Look at the design of the table and functionality of filtering just one record to later use CRUD - Create, Read, Update and delete.
September 06, 2018
Team GirlsCode MK (Bahmni) — at September 6, 2018 18:23 UTC
- Georgina and I had a meeting with coach Ivo and the Bahmni team (Angshu and Sruti) to discuss the app progress, issues and how our app will be incorporated as one of the Bahmni web apps. It was great to listen to Angshu who knows the workings of Bahmni inside out. Ivo was also being very helpful by insisting that we maintain the scope of our project as it is and making sure that we deliver something useful at the end of our summer. I think it's easy to get carried away and take on too many challenges, but Georgina and I both agree with Ivo and think it's important that we use our remaining time wisely!
- We spent the morning before the meeting uploading as many updates as possible so that we could demo them during the meeting. This included styling another page, adding a navbar component, adding SVGs to the page, connecting the two pages with a back button and clickable divs and implementing a fetch GET request that fetches the results (it's a good thing that we got the legwork for that done yesterday!) - shoutout to coach Neil!
- I (Eva) was feeling a bit under the weather since yesterday afternoon, but I think it's a good sign that despite not feeling great I was happily distracted by programming issues.
- we need to reach out to the larger openMRS and ask about specific API requests and query parameters as discussed in our meeting today
- implement the changes and suggestions from today's meeting - this includes design and functionality changes
- finish the current story and possibly meet with Ivo tomorrow again
September 05, 2018
Team GirlsCode MK (Bahmni) — at September 5, 2018 22:43 UTC
Good progress made today with next story which is to create a search page, use Fetch with Get Person API from Open MRS.
We looked at end points and what the API was returning using postmaster and the excellent documentation with Open MRS, they also have their own extensive wiki to search - so no shortage of information.
Our Coach Neil saved us lots of time to how to customise the return from the API, how to set limit of the amount of records and how this can then be changed in an environment file depending on resources, amount of records, how many times the fetch api is to be called and how much is returned each time.
We compared the differences from the Open MRS system and the Bahmni system to try and understand what was the best way for our app to use the api.
We discussed with our coach React Router Dom and how we could use this in our App. Although we only two pages React Router Dom offers the quicker, cleaner solution and so although a library we have decided to install and monitor what difference in load times this will make with our app.
We created multiple pages and created a route for them. We then used switch to prioritise but also to catch erroneous addresses.
We then pair programmed with GTH driving and uploaded a branch but as this still has a lot of work still to be done it was not merged with the master.
Add search SVG to search page
Add new person SVG to search page
Aesthetically change the page in line with the design requirements using CSS . Not Georgina's favourite thing in the world because even though I change values it doesn't take effect due to specificity! (I can't even say the word properly without sputtering!)
Unit testing - design and writing
Look at dynamically changing the navigation bar to show what page the app is on.
Add the function to fetch using the GET person API
Change formContainer name to something more meaningful now that we have more than one form - one for search and one for add new person.
Meet with the Bahmni team tomorrow as to how this app will connect with existing app, look at our progress and discuss how to make some decisions with the rest of the app.
September 04, 2018
Team GirlsCode MK (Bahmni) — at September 4, 2018 21:13 UTC
- met with coach Ivo (who is sick, but still met with us, took notes and researched our next story! <3 Ivo <3)
- I (Eva) have been excitedly refactoring code for the past couple of days, so it was very good to receive some feedback from coach Ivo on what is useful (and what is not)
- implemented the changes suggested by coach Ivo
- I hosted GirlsCode in the evening which was again a good mix of welcoming new students, recommending resources, motivating the veteran students and solving some coding issues (and installing some Ubuntu, of course)
GTH - it has been a long interesting day that has got me excited about our project with our new story and me studying well into early hours. Does anybody else program all hours when they are in flow?
Our mentor Ivo has given us less detail for this story as it is similar to a past story and it is just enough to make us struggle so that we again learn more. The story is to use a get api in a search form. As this is a separate form we will need to plan out reusable components, look into the rest api end point so it only returns persons that we have added from our input form and not all users, providers etc.
I have also been reading up on react router. Do we really need this whole library for a low resource app with only two pages? Playing with browser, switch and link. A good question for discussion with coaches on our slack channel.
Lots of meetings today that were reflective on what I have done so far, always good to stop and reflect . RGSoC meetup today talking about imposter syndrome and mindsets. Also one to one with supervisor Ramón.
- researching our current story including GET requests, React routing, adding more components
- using the SVGs provided by the team designer, Konrad
- watching (and rewatching) the Mosh tutorial on React
create a search form for our app
- meeting with coach Neil tomorrow
- meeting with coach Ivo on Thursday
I would really like to celebrate RGSoC as I think it is such a great experience and more people need to know. As I feel I have learnt so much and I have met so many lovely people. Would any body else like to celebrate with us? Maybe we can arrange a joint party - suggestions welcome
September 03, 2018
Team GirlsCode MK (Bahmni) — at September 3, 2018 20:39 UTC
Met with supervisor Ramón online - he is also a good coach checking we are both ok and happy with our project. Eva explained the last two stories she has done with spinner and refactoring. We had a great conversation about testing and discipline. It was interesting to hear about other technologies and their community. For example Python is seen as having lots of documentation and Ruby has a great community of testers and feedback.
We then did a meeting about the overview for the next 30 days. It covered things that we had planned, obstacles, ideas of what we think is coming up for the application and what would we need to learn. We also set about a strategy for the upcoming blog post due on Sept 17th.
Eva filled me in as to what changes she had made on the app.
Georgina shared resources from conference in June Women of Silicon Roundabout. Lots of soft skill talks for women to help move into technical leadership roles.
More learning on what is clean code, consistent code, best practices and ways to refactor code to make it easier to understand and read by others.
We are both doing the codewithmosh course and we are working through this and applying what we are learning to our app. We actually felt that having a project to apply this to was so good in learning and helping to understand that is shows how much we have learnt in these two months with RGSoC.
ByteConf online videos
Continued to share resources with girls code MK community and our social media followers.
Write a template for the blog post that we can start to work on - some ideas to make it fun to read
Meet with mentor Ivo about the two stories that are currently showing on Jira but are not ready for development and are still being analysed.
We have set a date of 2nd November to do a presentation of our app to ThoughtWorks staff in London and will be streamed to Berlin. This is a lunch time session which we hope to;
* thank Ivo for his unfaltering patience, very clear and precise instructions
* encourage and inspire others to mentor with RGSoC for future teams as we have benefitted so much
* share specific details of the Bahmni project
Continue to use react router in a separate branch on github.
August 31, 2018
Team GirlsCode MK (Bahmni) — at August 31, 2018 17:52 UTC
- I spent the morning being interviewed for an award that I might get for GirlsCode (!), and I was talking about the diversity gap in tech and all the great work that RGSoC do as well!
- I applied for a Vue.js workshop in September - because Dan Abramov (the creator of Redux) will be there
- I went over the Front-end developer handbook to see what technologies I should learn next
- more experimenting with routing (React router is great!) and mocking components
- watching Byteconf (an online React conference) on Sunday
- waiting for more details on the next story
August 30, 2018
Team GirlsCode MK (Bahmni) — at August 30, 2018 20:15 UTC
- TodayI spent 4 hours at the GirlsCode daytime session: doing a lot of studying but also talking about our project and helping others (whether troubleshooting an internet connection, talking some React basics, helping with algorithms and discussing learning opportunities - bootcamps and such).
- I got slightly fixated with our form's CSS so I've been looking at box shadows, background colour and reading on readability, HTML form conventions
- the rest of the time was dedicated to the react router - how can we maintain the fast loading speed (and avoid unnecessary reloading)?
- I've added a navbar to our app
- Also, SVGs are just numbers - I've managed to build a 'back arrow' svg by just copying some stuff from the interwebs!
- adding some mockup pages for testing the routing
- Adding a clickable 'back arrow' svg that will allow the user to go back to the previous page
- Creating a Register Person page based on the styling
- discuss specific story requirements with Ivo
It's almost September!! (followed by horror&scream emoji)
August 29, 2018
Team GirlsCode MK (Bahmni) — at August 29, 2018 15:56 UTC
- Two stories finished this week!
- This week I've done a lot of CSS and a lot of refactoring - it feels great that now I am able to make the code a little less clumsy
- I also spent a little bit of time today reading blogs from ReactJS experts (one recommended by coach Ivo), checking out upcoming meetups and conferences (in London) and sharing some of it with the GirlsCode MK community
- React router research phase: Switch wrappers, Routers, Links, history, location and match objects.
- Studying the ReactJS course (50% done!)
- Girlscode MK daytime session meetup tomorrow - a great opportunity for coaching and sharing what I've learned
- meeting with coach Ivo once the new story is done
- Byteconf conference is this week! https://byteconf.com/
August 28, 2018
Team GirlsCode MK (Bahmni) — at August 28, 2018 22:22 UTC
- Today was spent refactoring the existing code, removing redundant css classes and unifying the styling
- I also asked our coaches about best practice for CSS and learned more about relative and absolute sizing (em, rem, %, px) and when and where to use them
- Coach Ivo sent his review notes for the work I submitted yesterday and was happy with the work I've done (including my first loading spinner!)
- I spent some time today reviewing best practice for styling HTML forms (https://www.smashingmagazine.com/2018/08/ux-html5-mobile-form-part-1/) and running our existing code with pa11y (https://github.com/pa11y/pa11y) and Google Lighthouse audits -> we rank pretty well on the accessibility and best practice scale so that's good!
- reviewing the notes from Ivo and finalizing the 2 stories
- I'm 30% through the ReactJS course (programming with Mosh), I really want to finish it over the next week or two as it has really me to understand our project better
- look into the next story
- start learning about React Router that we will be using in our next task
August 27, 2018
Team GirlsCode MK (Bahmni) — at August 27, 2018 14:31 UTC
- Georgina is on holiday this week so I'll be carrying the team GirlsCode MK torch for most of the time
- we had a weekly meeting with supervisor Ramón: checking on our progress and catching up.
- Ramón also told us about the EuRuKo conference that he had just organized - I've been following it as well online and am very proud of Ramón!
- Finished the tasks from the last meeting with coach Ivo - they've been submitted for review
- I've been learning loads on how to refactor code and make it cleaner - I was very happy to use what I've learned in our latest task
- SVGs are a little bit of a nightmare, but getting the hang of those as well
- going over a ReactJS programming course (Mosh)
- refactoring current code
- learning more CSS (best practice, flexbox, relative VS absolute units)
- finish the current two stories
August 24, 2018
Team GirlsCode MK (Bahmni) — at August 24, 2018 18:27 UTC
- coach Ivo - still the running nominee for the best project mentor in the universe! - gave us a lot of great suggestions yesterday afternoon on how we could improve our code. He also sent us meeting notes ("fastest notes below the sun" as he calls them), which are broken down into individual tasks, so we were going through those. Tasks include: cleaning up code (getting rid of unused props, cleaning up state, removing unused classNames) and making our code more dynamic.
- figuring it out how we can cut down as much of the duplicate code (both in JS and CSS) as possible.
- going through the rest of the tasks, including lots of CSS (possibly using CSS grids and asking our coaches about relative vs absolute values - we use both of them at the moment)
- we both really like a ReactJS tutorial by Mosh, so we are both going through that as well
- Ivo left us a "challenge", a slightly more advanced task that I can't wait to solve!
- we have a couple of new stories in our JIRA already, so as of Monday will be working on those
August 23, 2018
Team GirlsCode MK (Bahmni) — at August 23, 2018 22:19 UTC
As I sit on a train back from some awesome training in london on aws fargate containers. I am doing the daily log. What have we done today?
We met at Bletchley Park and then caught up on css woes, https://www.smashingmagazine.com/2007/07/css-specificity-things-you-should-know/ or as i was referring to some * css as the death star of css . https://stuffandnonsense.co.uk/archives/css_specificity_wars.html
We are working on success and error modals that will display depending on the results of our fetch api.
So we have two svg, two different background colours,
Met with our mentor. He asked to do a demo of our solution. This is such good practice for us to present our work.
He is so patient and wants us to do things to best practice. We just need to tweak a few of the misalignments between the svg and the paragraphs of text. It was suggested to use flex box and css grid to take away some of the headaches.
We will also go through our code and keep consistent in our units of measure not mixing px and rem.
We need to look at refactoring our code and again our mentor hinted how we could start to approach this.
So my day with css styling I liken to driving home. I could go the same way I always go and keep in my comfort zone which is to wait and try and make my code perfect or research more to find the solution.
However I took a different route today we made changes and I did not know entirely why they are having the impact they were but we were close to having it work well.
This route is not always possible but sometimes when you want to meet a deadline and get a solution it is necessary. So although not perfect we uploaded code for a mentor to feedback on. This feedback has been useful and rather than continue struggling to force something to work we are going to use flexbox and css grid. I was a bit disappointed our hours of effort hadn’t provided a complete solution but imagine how much more disappointed I would have been if I had spent longer.
We have arranged to do brown paper meeting at thought works in November to demo our app. So this is good practice
we have our list of to dos from our mentor
we can see our upcoming cards on Jira and we want to get this story done so we can do a great job with this project.
refactor modal . find the repeated code, clean up, rename.
list of adjustments from mentor.
contact mentor tomorrow with update.
August 22, 2018
Team GirlsCode MK (Bahmni) — at August 22, 2018 15:33 UTC
- modals are tricky but we finally managed to get them working! The success modal can now be closed when clicking outside of it, the error modal can only be closed once the user has clicked on the ok button.
- clear form: the form is cleared on success and the fields remain populated on error
- most of the styling for the modal is done
- chatted with coaches about our current story
- we discussed our favourite plugins and shortcuts for VSCode
- finalizing css for the modals
- setting a timer so that the success button closes automatically after a certain time
- refactoring the code: potentially group the two modals under one and change the fields/styling dynamically
- meeting coach Ivo to get the feedback and work on code refactoring
- Konrad, our web designer is on holiday so we will have to add the success and error icons later on
- implementing the spinner when waiting for the response (also disabling the register button)
August 21, 2018
Team GirlsCode MK (Bahmni) — at August 21, 2018 15:59 UTC
Meetup with our coaches last night. Good conversation about where we were with our project, fetch api, testing and using jest mock to automate console log.
Working remotely and sharing resources and what each other are working on.
Eva has managed to finish the logic side of the popup modal for success or error of the fetch and onclose functions.
Testing of modals with React developer tools, console log, and manually taking remote server offline to create errors.
CSS styling of popups to the design specification.
Creating a library of resources or more importantly disregarding resources that refer to installing libraries as our app needs to run on minimal resource machines if there is no need for libraries this is to be avoided. Our mentor referred to even certain libraries have the facility to install only the part you need and not the whole library. Good to know.
RGSoC Meetup - Had a lovely chat with Anna. We talked about shortcuts, giving technical talks, holidays, weather, technology stacks, tools that we are learning that will be relevant for future projects, Jira, Invision, soft skills, ability to adapt and work in a team. Anna very kindly explained to me about Github rebase. This made complete sense and look forward to trying it out on one of my personal repositories.
GTH is on an adventure. My agenda is to work collaboratively with teams with no location boundaries. However today as taught me a valuable lesson I tried somewhere new as a public venue and their advertised wifi was not working however had already committed to stay. Tried to switch to hot spot on my mobile which also gave me a slower than my normal service. I could have cried and admit defeat but instead I decided to recalibrate my day and still be productive despite these challenges. I kept in communication with my partner who also communicated her change of plans of the day, we did try zoom from my mobile but the signal was not stable and my background noise was to distracting. Interesting that zoom app on mobile does not have chat facility. So we resorted to slack and imessage to communicate. It is interesting that we are working on an app for Bahmni that is geared to run on low resource machines and so once I changed my mindset I was able to test our app in a way that I hadn't expected or planned.
Creating Jest Mock tests to recreate fetch api without the time delay or need to start and shutdown servers.
Learning more about modals without libraries to create custom requirements.
Write tests for our app so far. To give a current snapshot.
Need to clear form data on success of fetch further discussion of where to put this function is needed.
Focus for modal needs to be change for accessibility and to prevent tab in the form below.
August 20, 2018
Team GirlsCode MK (Bahmni) — at August 20, 2018 15:59 UTC
- weekly meeting with supervisor Ramón: discussing our progress, mental state, challenges and workflow (always a great way to start our Mondays!)
- team meeting discussing some workflow issues as of recent: different expectations, experiences and the fact that we are working remotely can sometimes lead to frustration, but we both recognized our need to be better at communicating and I believe we came out of the meeting stronger. Go team GirlsCode MK!
- working on our story which is creating modals in react and some gentle handling of fetch errors
- met with our Bahmni coach Ivo who is on a holiday but insists that we met regularly (best coach ever!)
- he gave us some suggestions on what needs improving, which things are missing and what is already done
- as always he patiently answered all of our questions!
- we've also discussed giving a talk after RGSoC for Thoughtworks, sharing what we've learned in our summer of coding and working on Bahmni - Georgina and I are both keen to do it! (proposed date: sometime in October and we might travel to London to meet the UK Thoughtworks HQ)
- incorporating Ivo's suggestions into our app
- applying css styles as per design
- getting a working version of the app and share with the rest of the Bahmni team
- adding some logic to dynamically display the right modal (success or error)
- weekly meeting with coaches to discuss our progress
- finish our current story!
August 16, 2018
Team GirlsCode MK (Bahmni) — at August 16, 2018 16:50 UTC
Udemy course on HTTP AJAX FETCH AXIOS library - get, post, render data, more videos on HTTP to try and understand the solution to story 3. The udemy course uses a dummy url to get and post data to use as practice. https://jsonplaceholder.typicode.com/
Instead of fetch, the video in udemy uses axios library https://github.com/axios/axios
Meetup for girls code. Opportunity to meet coaches and get some advice and guidance on Bahmni project and ways forward.
We discussed the delay in response from the server when it is not available. This is a setting that can be changed by using Fetch Timeout. This setting can be added to our .env file so that independent future installations of the app can be changed according to their infrastructure and capabilities of their servers and concurrent sessions. He referred to the following example https://medium.com/all-things-ledger/the-byzantine-generals-problem-168553f31480. We need to discuss the requirements of the app in more detail with our mentor and maybe look into more detail about how the main app is dealing with this to do a consistent design.
Also discussed the difference between popups, modals, and what react refers to portals.
Learning more about React structure, hierarchy and react libraries.
Practice with simpler problems in udemy to understand concepts to apply to project.
GTH is delivering an icebreaker speech tomorrow for qualification towards technical path of toast masters. This is so she can do apply for future speaking positions at conferences to help encourage and inspire others to learn coding.
Types of Modal and create different type of modals, click outside, and confirm with a button.
Launch modal depending on the status of fetch
Meetup with mentor.
August 15, 2018
Team GirlsCode MK (Bahmni) — at August 15, 2018 15:02 UTC
- working remotely today, but had a long team meeting to share progress, what we are working on at the moment
- Georgina: working on branches, forks and creating new learning repositories. The need to practice in a safe place and with simpler or out of project scope was necessary so she has created a new learning app to test out some code. Looked at preparation of next blog, so whilst sorting out github, forked RGSoC, installed Jekyll, had an issue with changing ruby version and updating the .ruby-version file to 2.3.7 and got all setup so we can add stuff as we go for the blog. Time is going so fast we are nearly half way!
- Eva: working on a reactjs Udemy course and getting a better understanding of how reactjs works (even slightly more advanced concepts): things I've learned today are higher order components (HOC), pure components, Radium and CSS modules, npm eject for editing project config, better project structure, proptypes, Aux wrappers for adjacent components.
- Eva: Ploughing through the tutorial until I get to the modals and ajax requests - which are the two things needed for our current story.
- Eva: reading on web design and usability and getting better at implementing basic design principles
- potentially re-structure our app into smaller components (our FormContainer component is quite large and could be broken down - the fetch request with its conditional logic should probably go into its own component)
- coming up with conditional logic for displaying either the spinner, the error popup or the success popup
August 14, 2018
Team GirlsCode MK (Bahmni) — at August 14, 2018 16:19 UTC
Had our monthly meeting with local coaches and supervisor - Team Photo!
Introductions, Fun Fact, Expectations
Discussed communication and how to get better coaching and how to be a better coach.
Discussed consistency with meetups.
It was agreed that if we need more help that we need to be more specific in the help we need and more direct questions on slack. It is a balance between helping and struggling. So we will keep our weekly catch up meetings at 8pm on Mondays. This is a 10min what is happening meeting. We will also continue to give summaries of these meetings for people that can't make them.
RGSoC slack channel discussion about Agile. This was good to revisit especially as it wasn't long ago at girls code that we had our Agile workshop. Tools: https://youtu.be/Z9QbYZh1YXY, https://funretro.io/, Sprint-Retro-Repeat, stand up meetings, kanban, trello, and stories. We are using Jira for our workflow and stories.
Asked coaches direct questions today. Asked their learning journey of react and looked up roadmaps to help facilitate this. Trying to get a clearer picture of what coaches have done with React to help advise us. GTH expressed the problem with trying to find good quality learning resources that did not involve installing libraries, or redux. It is hard to gauge whether it is a lack of React knowledge or whether libraries are really needed.
Continued with Udemy course. Eva said it is beginning to make more sense the 2nd and 3rd time round!
Eva using pomodoro for videos. GTH has been changing between videos, creating test branches, playing with app and error codes. Changing activities is also as good as a rest. Whilst becoming fixed on Fetch API error handling and modals, GTH had a thought about our date issue from our previous story. A little progress and then back to the current story!
Meetup with mentor about current story
Fetch API error handling status
August 13, 2018
Team GirlsCode MK (Bahmni) — at August 13, 2018 12:57 UTC
- met with coach Ramón to discuss our progress (and how to avoid burnout!)
- checked our current story and analyzed what needs to be done next
- had a team meeting: discussed current progress, workflow, habits, making sure that we are on a good path, discussed our future plans
- figuring out which way to go next: do we use a new component and collect more state for our fetch functions? do we use portals? Redux?
- collecting more information on best practices for displaying success and error messages in ReactJS
- studying fetch API, in particular, error handling
- We are both doing a Udemy tutorial on ReactJS (https://www.udemy.com/react-the-complete-guide-incl-redux/)
- monthly meeting with local coaches, mentors and supervisor
- meetup with mentor Ivo to talk about our current story (and the date picker issue from our last story)
August 10, 2018
Team GirlsCode MK (Bahmni) — at August 10, 2018 16:47 UTC
Met with our mentor Ivo. He is so supportive and committed to helping us with this project. He is going on holiday for 2 weeks but has said he would still like to meet up twice a week and is available if we need help.
Our second story has been marked as done with a caveat that the birthdate will need to be revisited and compared to the larger bahmni app so they work in a similar way. The solution works but using moment you can not just put in years without it trying to update and calculate to precise months and days. This is not how the main app works and so will either need to be changed to our original clunkier solution, stop using moment a more manual calculation of years, months and days or maybe an alternative we haven't thought of yet.
Onto the third story. It requires a success pop up and an error pop up. So we have been reading up on modals in React.
We have discussed online with one of our coaches about http status codes. They referred us to this resource. Love the visuals and imagery! https://httpstatusdogs.com/
Interview for future development roles. Eva has said that this project has not only given her more experience but more confidence in talking about coding.
Udemy react course
Learning more about modals from React documentation - https://reactjs.org/docs/portals.html#usage, code pen, medium blog, examples on Github .
Spinners on submit button to prevent multiple duplicate records being added with a double or triple click.
First full team meeting of coaches, mentors and supervisors on Monday.
August 09, 2018
Team GirlsCode MK (Bahmni) — at August 9, 2018 12:48 UTC
- went over the refactored code (including destructuring, ES6 arrow functions)
- added max date to our date input
- reviewed how momentjs handles/formats dates
- solved merging issues and conflicts on github - reversing a pull, re-opening a PR
- reviewed setState with prevState in reactjs
- held a GirlsCode MK daytime session - helped other students with JS issues (solving algorithms)
- validating fields (the required inputs should have a red border if they are empty)
- learning about instant validation in reactjs forms
- learning pseudoselectors :invalid :focus :touched
- meeting coach Ivo to discuss the new story
- is more refactoring needed for the current story?
- adding popus and spinners
August 08, 2018
Team GirlsCode MK (Bahmni) — at August 8, 2018 20:31 UTC
RGSoC meetup yesterday. Running theme of this week is how to learn and then to take healthy breaks. Walks, natural breaks, pomodoro clock, and regular patterns.
Studying and going back over basic concepts of react at a different level to try and understand gaps in knowledge. Using a udemy course, book (full stack react), looking at examples (React Rocks website), Git hub, Stack Overflow. This is sometimes a good blend. When you have had enough of reading, a video demonstration is good and welcome change. Is it possible to have too many resources? 🤯
Communication on design of app with regards to visually showing errors.
GTH struggling with solving date problem which Eva has already solved. Frustration of ability to learn and apply to project but good to know that coaches are reassuring that it is normal.
Repeated error on form with NAN error. When an invalid date is entered into DOB input. So now we need to trap error and give visual warning.
Studying on refactoring code, moment.js, set state, prev state.
Meetup with Bahmni mentor
CSS error handling - red border, red label and red text on invalid input
Set maximum birthdate to todays date.
August 07, 2018
Team GirlsCode MK (Bahmni) — at August 7, 2018 16:43 UTC
- met with Bahmni mentor Ivo who is the most patient coach on the planet!
- discussed the date functionality again and this finally led to some breakthrough
- we were also talking to our local coaches and asking them about best practices - sometimes there are many possible solutions and it's hard to see what's right (e.g. question: in Reactjs is it better to bind functions or keep them as anonymous functions that are fired up onChange? answer: no definite preference. Just be consistent.)
- refactored our existing code, removed unnecessary items from react state, which makes our app clearer and more concise
- read a lot of momentjs documentation: we are now much clearer on formatting issues and calculating the difference between two dates
- reading up on ReactJS, watching tutorials on states vs props, react setState API
- going through our code, removing what's unnecessary (both in terms of react code and css)
- GirlsCode MK meetup tonight which will give us an opportunity to talk about our project and less experienced coders
- perform a npm build of our app and run it through Lighthouse audit (how are we doing in terms of accessibility and speed?)
- talk to coach Ivo (story 3 should be coming up!)
August 06, 2018
Team GirlsCode MK (Bahmni) — at August 6, 2018 17:29 UTC
Start the week off well, met with our supervisor Ramón, good to hear about his experiences of trying to get code to work and the importance of stepping away. Shared an example of how to draw an owl to highlight how some helpful tutorials sometimes miss critical steps in the process and you are left wondering.
We have now done SVG for before and after checkbox using CSS and before and after pseudo selectors, looking good!
Learnt about viewbox and resizing SVGs, and lots of numerous ways of bringing in the SVG file into our app, in the input label or as part of the CSS.
Added code to clear Years, Months, Days from form after submit
Discussed with coaches whether we should use anonymous functions or bind our functions. We can use both and there are advantages to both. However the rule if any would be to be consistent. So we have used anonymous functions and removed bind from our app.
Refactoring code to remove transition variables and just deal with a function to calculate the date in one step. Struggling and will call on coaches to help either guide or provide a similar example.
Form validation so that the fields provide validation straight away and not rely on submit button to stop user from inputting wrong data.
Lighthouse CLI installation
Repeat error with NAN. What steps to recreate?
Meeting with mentor again for feedback on our progress, more refinements to what we have done and introduction to the next story.
August 03, 2018
Team GirlsCode MK (Bahmni) — at August 3, 2018 17:26 UTC
- met with coach Ivo to discuss our story progress (still some issue with date calculation and the SVG checkbox)
- learned about Chrome Developer Tools and Lighthouse tool (for auditing web apps)
- while styling custom styling the checkbox we learned about the :before and :after pseudo selectors
- learned how to delete all local branches in one go
- added CSS variables to our project
- learned about reading post requests response in dev tools (network)
- discussed how to contribute to open source in general
- checkbox and SVG
- refactoring the date calculation code
- discussing with coaches whether we should use anonymous functions or bind our functions
- include Lighthouse into our workflow
- run npm build to see if there are any issues
- unit test our calculation functions when it's ready
- get ready for a new story!
August 02, 2018
Team GirlsCode MK (Bahmni) — at August 2, 2018 22:37 UTC
We solved an issue with birthdate and calculating days, months and years using moment.js. We had done most of the code but it was not consistently working after the second addition or subtraction of a unit of time. We therefore got some guidance from our coach online using slack, stack overflow and with combined effort, determination we resolved the problem. It turned out we needed to use spread syntax.
This has been a good day for programming after struggling with this problem for a little while. It has been good to struggle as it will make us remember it. We got some moral support from our coach as we were feeling down that it had taken so long to solve. He advised us that it was just experience and you start to get an idea of what needs changing with more experience but he said we had problem solved it very logically.
We met at Bletchley park for a workshop for girls code MK and again explained RGSoC and our project Bahmni. We also shared jobs, conferences that had been posted. We also shared tips that our coaches and mentors are showing us to encourage future applicants.
We have done the code to solve the story problem, now we need to refactor to as one of our coach's said to stamp it down to make it clear and efficient.
We now feel we are ready to meet with our mentor to get the second part of the story finished.
Meet with our mentor tomorrow discuss testing and we have already seen on Jira part of the next story.
Add the SVG image for the checkbox
Write more tests.
Change the UI to the design for laptop size. Guidance and clarification needed on what they want.
🎉🎉🎉But overall celebrate when you have achieved a break through that has been niggling for a while! 🎉🎉🎉
August 01, 2018
Team GirlsCode MK (Bahmni) — at August 1, 2018 16:39 UTC
- met with coach Ivo to discuss our progress
- solved a display issue with our current checkbox (answer: flexbox!)
- solved a layout issue (answer: more flexbox!)
- added media queries so that our app displays nicely no matter the screen size (...flexbox...)
- started work on momentjs two-way input handling of the date (some progress, some errors)
- we are now git branch veterans and have done 166 commits to date!
- following the meeting with Ivo, we need to do some refactoring of our code, including taking some stuff out of state, changing (trimming) what we collect and what is sent with the post request, writing functions and unit testing them
- meet coach Ivo on Friday and discuss testing
- add the SVG image for the checkbox
- write more tests!
July 31, 2018
Team GirlsCode MK (Bahmni) — at July 31, 2018 16:12 UTC
Flex box - more options, inputting labels to create siblings so that styles can be changed independently without effecting other elements.
Installed moment.js to deal with calculating age from a date of birth or date of birth from age. 😱
Looked at checkbox solutions on github, codepen, and stack overflow and how to add SVG so we can do this when design is ready.
Met with one of our coaches, update SCRUM type online. 30 mins to update, what has happened, what is still to happen and the problems we are dealing with. Loved his feedback to css refactoring in react with our little app, YAGNI. Which stands for "You aren't gonna need it" which is a principle of extreme programming (XP).
Installed Firefox which has a responsive design mode that adapts a UI depending on the device being used. Our mentor introduced us to this and might prove very useful for testing but at the moment we are using it to see the different screen sizes and how flex changes the UI.
Using git branches to gain confidence to change code without fear of changing master. Makes you a bit more daring with code and breaking it in an attempt to fix a problem with a safety net.
Working with moment.js to calculate age. Looking at options as suggested from coach about creating an interim third input to do the calculation in stages.
Flex box refinements to get the spacing of checkbox and years, months and days either using padding, creating siblings, using flex wrap
Completed application to https://www.jsconfhi.com/ Wish us luck! 🤞
Date calculation for date of birth and age into years, months and days and vis versa.
Change labels so the text appears to the right rather than at the top of the input - estimated input
Change flex container sibling to split another row to reduce spreading of components.
Meet with mentor to get feedback on story and next steps.
July 30, 2018
Team GirlsCode MK (Bahmni) — at July 30, 2018 19:09 UTC
- Monday meeting with our RGSoC supervisor Ramón (discussing our approaching milestone (1-month!), motivation, schedule, progress...)
- Pair programming through Zoom
- Going over trello tasks, notes from our last meeting with mentor Ivo and comparing our project with the design
- We finally figured out how to mark the selected radio button as checked!
- More practice with git branches and merging
- Refactoring the existing code and prioritizing what is most important
- Removing redundant code
- studying momentum js - a JS library for dealing with dates
- figuring out how to use it with our project (the relationship between date input and the display of corresponding years, months and dates)
- figure out how this was achieved in Bahmni patient registration form
- checkout current Bahmni tests
- have a CSS file for each component
- flexbox layouts for tablet (landscape + portrait)
- add the SVG checkbox once the design is done
July 27, 2018
Team GirlsCode MK (Bahmni) — at July 27, 2018 18:53 UTC
Solved a problem with travis with our app. The method we took was to look at when travis stopped working, go on to github and look at the repository at that time. We looked at various files to see what could be possibly causing the problem. We created a branch restored the files to that branch and travis was working on the branch. We then compared differences and found a small change in the Travis.yml file which wasn't obvious as it was just an extra space causing the problem.
Changed index.html with changes to customise our app rather than the boiler plated text from react.
Changed names of components for consistency and clarity
Deleted extra files which are not being used.
Online chat with coach re different ways of styling in react and trying to get schools of thoughts, list of advantages and disadvantages of choosing one method over another.
Still trying to solve custom radio button and custom checkbox. There are lots of resources to try and resolve this. The project designer has offered to create an SVG of both states so we could add this to the label and toggle depending on if the the checkbox is checked true/false. This maybe a better way then trying to add a tick to the label ourselves.
Tasks that we are tracking through Trello from our existing story
More clarification on propTypes and make consistent use through app.
More testing. Render logic, Prop transformations, User interaction, simulation and other test utilities.
Have a rest from radio boxes and check boxes to gain some perspective and start a fresh on Monday.
July 26, 2018
Team GirlsCode MK (Bahmni) — at July 26, 2018 20:25 UTC
Another amazing meeting with our Mentor. Gave us feedback, still to do, refactoring of code, shared best practice for naming, training by sharing screen - loved the firefox browser develop tools for different screen sizes. Introduced us to moment.js to try and look at a date issue we have. Mentor was very encouraging and is pleased with what we have produced so far.
Git workshop with one of our coaches. explanation of git from basics which was good to recap. covered some really good tips and tools, git gui &, gitk. Great balance between explanation and practice. Practiced reset (mixed, soft, hard), git workflows, deleting branches, merges, git logs, removing conflicts and creating them so that we could understand how they happened.
Found out about ssh, so that GTH could solve different identities as she changes computers.
More studying of css in react to attempt to redesign and customise behaviours of components.
Practice and add SSH to settings in github.
Work through the tasks on trello so we can feedback to mentor next week.
We have also decided to add notes to trello
We are planning to finish story to the point of sign off to get the next story early next week.
Lots more to learn with regards to react design, screen size flexbox, limitations and work arounds to get a good looking form, with full functionality that meets the design.
More testing. Talking to coaches about a writing test for each component both states and rendering so that when changes are happening it is easier and more efficient that they are in separate small files.
Therefore we need to refactor code not just for now with our existing team but as this is open source it will make it easier for future development.
July 25, 2018
Team GirlsCode MK (Bahmni) — at July 25, 2018 17:41 UTC
We worked remotely today, working through our tasks on trello. We have a to do list, separate doing lists and done list. We are going to put in the cards, comments and resources that we use so that we have a store of the resources, decisions and problems we have had.
We did a one -to - one zoom session where we shared our screens, from both the browser and inspection tool, and the visual code studio to look at code. It was a different way of pair programming remotely.
Solved several problems from yesterday. It was getting quite frustrating for the time to code that has been produced. Georgina expressed this in the RGSoC meetup about the lost hours looking for answers, learning and trialling out code. Some of the tips mentioned on the meetup were to set a time limit, do something different, (Anna suggested washing dishes!) and ask for help if you have tried sometimes it just takes a fresh perspective or different eyes.
Our blog has gone live. https://railsgirlssummerofcode.org/blog/2018-07-25-4ps-of-girlscode-mk
We have organised a meeting with our mentors tomorrow to discuss progress of story.
Styling the radio buttons, hiding the radio button to make clickable buttons and styling the general layout. Form beginning to look like the UX Designer prototype.
Looking at hacks to overcome limitations of checkbox render and getting checkbox's to look in line with project.
Looking at radio button problem that it formats the button when it is selected.
Continue looking at and thinking like React instead of using HTML, CSS...and making use of components and refactoring code.
More videos for learning
Still trying to solve Travis for our project.
A few more tasks from our story not quite the thousand we felt yesterday.
Looking forward to git hub session with coach tomorrow to solve niggles and commit issues.
July 24, 2018
Team GirlsCode MK (Bahmni) — at July 24, 2018 21:31 UTC
- worked remotely tackling our trello tasks including styling buttons, disabling form submit when a required input is missing, adding an asterisk next to a required input, adding and styling a checkbox (with custom CSS)
- learning more about flexbox
- Following coach Neal's suggestion, finally used git branches and successfully pushed the first three - so far no conflicts! (Eva)
- investigated the existing code - but that's written in angular (so no clue!), although we maybe have some more ideas now about how to do our date function conundrum
- GirlsCode meetup: we were doing some basic pen testing trying to solve a hacking challenge (investigating source files and what files are loaded under Network tab)
- read on form best practices, conventions and accessibility guidelines
- chatted with coaches about testing
- styling the radio buttons (maybe with flexbox) (Georgina)
- styling the general layout including media queries (Eva)
- the remaining nine thousand little sub-tasks including more testing
- fix Travis CI that currently isn't updating (Eva)
- Git and Github workshop on Thursday (can't come soon enough - my command line insists that I 'git prune')
July 23, 2018
Team GirlsCode MK (Bahmni) — at July 23, 2018 18:59 UTC
- met with supervisor Ramón
- went over the outstanding story (JIRA)
- broke down the story into 20 or so little tasks that we published on our trello board - mostly so that it's very clear who claims which task and we don't duplicate our efforts (and push to GitHub at the same time)
- discussed our schedule/plan for the week
- started working on the form design, using flexbox
- made sure that our form adheres to the pa11y accessibility requirements
- added more inputs following the UX requirements
- writing more tests (need to write a test for fetch)
- learning about testing and flexbox (for example: how to style radio buttons with flexbox)
- going over trello tasks
- fixing and breaking stuff all the time!
- The remaining tasks on trello (currently 11 outstanding, but there might be more)
- Meet with coach Neil
- Meet with mentor Ivo
- GirlsCode meetup tomorrow
July 20, 2018
Team GirlsCode MK (Bahmni) — at July 20, 2018 17:03 UTC
Met with mentor and UI designer. 1st app story passed and closed - YAY! They went through 2nd app story and UI design, visual cues for when data entered is not valid ie greyed out submit button, screen size display, favicon.ico, accessibiity, app fonts in line with project style, radio buttons.
Wrote more tests and problem solved why they were not working as expected.
Found bahmni ico and added favicon.ico to app so that is now showing on address bar and chrome tab instead of standard react icon.
Bahmni's font of choice is Helvetica as this is preinstalled with most devices and is of low resource.
GTH problem solved with github, commits, forks and accounts.
Accessed resources suggested by mentor to read up, watch etc.
Created radio buttons for gender component in line with second story.
Updates on blog post for RGSoC.
Lots of UI development. So research on CSS in react, flexbox, and other styling in react.
Study more testing
UI design, layout of form, colours in line with screen shots from designer using invision app.
Look at grouping components together rather than just one large form and having inputs together, so they can be on multiple screens and rendered independently.
React learning using book and udemy resources
July 19, 2018
Team GirlsCode MK (Bahmni) — at July 19, 2018 14:23 UTC
- talked about RGSoC, Bahmni and shared our journey so far with other members of GirlsCode MK at today's daytime session
- reviewed yesterday's work, went over the current tests
- wrote more tests (including fixing the one that didn't work yesterday!)
- fixed a Travis CI issue and reviewed branching and pull requests with Github
- helped other members with their projects (some Java stuff, some Python, some React Native)
- more jest and enzyme!
- figuring out what kind of tests we still need (testing fetch API, clear button)
- thinking about UI and CSS grid
- meeting with Bahmni coach to discuss our next story
- Do the form UI
- review tests with Bahmni coach (are we going to be using Sinon, spies, mocking, snapshot tests)?
July 18, 2018
Team GirlsCode MK (Bahmni) — at July 18, 2018 20:38 UTC
Learning more about Enzyme using various resources one being http://airbnb.io/enzyme/
Learning more about Jest again using various resources, YouTube, and http://blog.sapegin.me/all/react-jest
Created tests in our React app using standard naming conventions of filename.test.js. Created 2 test files, uploaded to github for later discussion with mentor and coaches.
Updated typo on Readme file for badge status for Travis CLI and it is now working. Thanks mentor for helping out :)
Eva communicating with other teams on slack. Good to find out common struggles and frustrations.
Learning more about Jest
Learning more about enzyme
Writing more tests and think about the type of tests as the app evolves
Learning more about React using various materials, videos, udemy
Problem solving a test that involves testing an option from a select list.
Arrange to meet with mentor about next part of app development which will include the design of the UI.
The design is on www.invisionapp.com. We have made comments using this resource for clarification and it appears to be a good resource for collaborating with design. We have received replies to our comments and they will be available as we develop the app to refer back to.
Look at sinon, http://sinonjs.org/ get guidance from coaches and mentors.
July 17, 2018
Team GirlsCode MK (Bahmni) — at July 17, 2018 17:26 UTC
Well GTH nearly pulled hair out with a computer with different environment and was causing problems with Travis CI and everytime a commit to guthub was done from her computer it went wrong adding files or dependencies. After lots of comparison of versions for node, npm, git, brew, yarn, nvm etc, reinstallation of node.js, reclone of repository, it still didn't work! We eventually after looking at error messages on google narrowed it down to conflicts with dependencies between npm and yarn. So once npm uninstall of various dependencies GTH switch to yarn, it no longer had package-lock.json and we were then able to move forward with a solid environment.
Our mentor from ThoughtWorks Ivo (he's so good) emailed us at 6am who tested yesterday's commit and it worked for him! He gave us a list of updates for our story and we worked our way through this list. We changed names for consistency between props and render html and easier reading, removed CSS class. We read about object destructuring and object spread and applied this to our app.
We now have Travis CI on our github repository and after several attempts the build is passing - YAY!
Reading, asking coaches and watching videos on Jest Test - smoke tests, shallow and render.
Looking at invision mockup of what the app design is like and we have made comments to the person dealing with the UI, nice to see a visual of what the end product should look like.
Create test files to create snapshots so that future tests can be compared against.
Routine of regularly testing before adding and committing to github.
July 16, 2018
Team GirlsCode MK (Bahmni) — at July 16, 2018 14:36 UTC
- meeting with supervisor Ramón
- discussed conferences
- meeting with mentor Ivo
- went over current issues and how to solve them
- updated the app to Version 3 - with controlled components and splitting the components into containers and components
- added Bahmni logo
- re-added post request removed unnecessary comments
- updated .env, .gitignore and travis files
- fixed dependencies (npm -> yarn)
- met with UI developer Konrad
- reading docs for create-react-app & jest
- writing tests with jest
- reading on proptypes and validation
- meeting with coaches to share our progress
- add tests + validation to the newest version of app
- discuss mockups with Konrad
July 13, 2018
Team GirlsCode MK (Bahmni) — at July 13, 2018 14:40 UTC
- reading about Travis CI and installation on Github repository
- created .travis.yml and added to github so each time a new commit is done it will test the code
- update readme file with build status and other markdown syntax
- met with Bahmni coaches - so helpful and patient, explained about priorities in coding, working code and reducing duplicate code niceties
- learning more about github, testing on a fork version
- installed prettier, lint-staged and husky to make code format the same
- updated package.json file with dependencies
- updated editor to use prettier extension so it will also reformat code locally
- trying to use pair-programming techniques (ping-pong)
- implementing Fetch with our form
- problem solve form
- researching testing with jest
- tests with Jest
- integrate with Travis CI - Ivo to add to project on GitHub
- learn about git branching
July 12, 2018
Team GirlsCode MK (Bahmni) — at July 12, 2018 12:45 UTC
- updated .gitignore
- updated readme file
- refactored our current app into separate components
- Agile intro workshop with Agile games
- pair programming
- learning github (git stash? git pull, git status, git diff, git push...)
- add a drop-down menu for Gender
- think about Age input (drop-down menu OR number input <= this would require a lot of validation)
- researching testing with jest
- researching Travis CI
- tests with Jest
- integrate with Travis CI
- meet with Bahmni coaches
- research pair-programming techniques (ping-pong?)
- learn about git branching
- think about implementing Fetch with our form
July 11, 2018
Team GirlsCode MK (Bahmni) — at July 11, 2018 20:35 UTC
- met with coach Rob yesterday evening to go over how he uses React and how we might want to approach our task
- learned about testing with coach Kalan
- Implemented a change to the 1st upload - learning about and adding the .env file
- reviewed fetch API
- going over React forms (specifically over tutorials shared by our coach Rob)
- Breaking down the forms app into different components
- React, react, react!
- testing with Jest
- integrate Travis CI as suggested by the Bahmni team
- Agile workshop tomorrow morning
July 10, 2018
Team GirlsCode MK (Bahmni) — at July 10, 2018 13:30 UTC
Eva and Georgina worked remotely today keeping up to date via imessage. This is so we can independently study React in a way that suits our individual learning style.
- met with Jessica from Team Popcorn and Anna from Travis CI, lovely to meet you both for a remote meetup
discussed conferences, our projects, about Travis CI product (automated testing and integrations), AirTable - Jessica has added link to RGSoC slack where we can add resources of what we are using. It was interesting that she is using Vue.js. I look forward to future discussions about comparing React and Vue
- read through some REACT materials from website, REACT from a sample book that Eva is using https://www.fullstackreact.com/
watched a lot of you tube videos trying to get an overview of REACT fetch
Organising launch party of RGSoc this evening with coaches and other members of Girls Code MK - there will be pizza! :)
- GTH transferring her environment on new mac that has 8GB Ram which is minimum spec of Bahmni
- working on our first task
- learning about HTTP requests, cURL and postman
- exploring Bahmni API
- setting up a create-react-app
- create a react form
- create tests with jest
- push onto GitHub repo
- create the 1st pull request
July 09, 2018
Team GirlsCode MK (Bahmni) — at July 9, 2018 16:30 UTC
- finished blog post
- met with Bahmni coach Ivo
- had a team meeting to finalize communication channels, workflow, schedule, stuff learned over the weekend, shared study resources
- organised a meeting with local coaches
- working on our first task
- learning about HTTP requests, cURL and postman
- exploring Bahmni API
- setting up a creat-react-app
- create a react form
- create tests with jest
- push onto GitHub repo
- create the 1st pull request
July 06, 2018
Team GirlsCode MK (Bahmni) — at July 6, 2018 16:31 UTC
Eva and GTH
- Spent the morning reviewing Bahmni documentation (developer guide). Getting a better understanding of how Bahmni is built.
- Meeting with RGSoC Bahmni mentors and Bahmni contributors
- Went over the history of Bahmni:
Bahmni is a hospital management system based on OpenMRS - an open source, medical record system. Since it's inception in 2012, Bahmni is now being used in 29 countries around the world (predominantly Asia and Africa) and is designed for use in low resource settings. The primary contributor to Bahmni is Thoughtworks - both our Bahmni coaches work there as well!
- Talked about our task: We need to build a form for capturing data for a person with a functionality of converting persons to patients further down the line if needed. Ultimately, the form will be used both online and offline, so PWA (progressive web apps) might be something to look into.
- We've agreed to focus on building a standalone react app and think about deploying it and integrating it in the future
- The plan is to get more familiar with create-react-app
-EVA spent the rest of my day learning about RESTful APIs and have followed tutorials to build two Node.js APIs
-EVA also spent time getting better at using Postman for testing APIs
- EVA uploaded the two projects to GitHub and have added my first .gitignore file (note to self: must review all current reports for any vulnerabilities!)
- EVA talked to coach Rob: he's a React expert and we will be meeting him on Tuesday to discuss React basics and how we should approach our task. Coach Neil and coach Kalan will be there as well.
- GTH looked through the documentation of Bahmni and the developers installation of Bahmni. It was interesting to read about and look at the architecture diagram to try and make sense of the technology and where our app although independent would fit in, spring roadmap 2018 of Bahmni, UX Space and in particular user journeys which helped me alot.
- GTH looked at react scripts from SPA conference, read from notes of workshop universal development with react and chapters from fullstack react.
- GTH looked at resources that were recommended - https://www.fullstack.io/ https://reactjs.org/ https://www.udemy.com/node-with-react-fullstack-web-development/ https://www.udemy.com/react-testing/ https://youtu.be/6Ied4aZxUzc
- Plan for the weekend: write and publish the blog post for RGSoC + practice with create-react-app (the ultimate plan is to build a form!)
July 05, 2018
Team GirlsCode MK (Bahmni) — at July 5, 2018 16:21 UTC
Eva and GTH
- started the day meeting with our RGSoC supervisor Ramón (went over requirements and onboarding)
- spent the next 4 hours in the GirlsCode co-learning session: chatted about RGSoC with some other members, talked about diversity in tech and our recent conference
- Eva talked to GTH about React.js, discussion on states and props. Looks at various materials, diagrams to gain understanding. Maybe asking mentors and coaches for further clarification.
- Eva reviewed the Bahmni installation (still working!) and spent a moment being thankful that we are not using docker :)
- GTH Bahmni installation is not working it was working but found when trying to use link it was freezing machine.
- EVA and GTH reviewed the requirement that was posted on our project JIRA board - rather confusing, but luckily we are having a meeting with project mentors tomorrow
- EVA as part of the Bahmni requirement spent some time trying to learn Curl stuff and ended up using Postman instead (my command line skills need working!)
- GTH troubleshooted installation of Bahmni, as lots of bits of code were installed on macbook after installation. The firewall settings were temporarily turned off to see if this was causing the issue. A screen shot of the errors were taken, reading the documentation was used to try and find how to solve, as the machine was crashing, when doing "vagrant up" - it was coming up with the an error message "it was already provisioned" and "inconsistency between grain table and backup grain table". GTH found out as well as starting up the virtual environment it also provisions the server. Need to find out more about this. But I am now after 3 times of installation quite proficient in following bahmni's installation instructions. GTH doesn't like to have things not working and so continued to get to try and get working but set a deadline that if it wasn't solved by end of day the next step would be to contact mentors, copy the error message and email as the bahmni slack is full for uploading files on a free slack account. I installed Bahmni on another macbook as I think it maybe because my original macbook is a low specification and only has 4GB and the minimum specification is 8GB. This would account for the crashing. As this other macbook is not used for development it doesn't have any git, my preferred editor, or preferred tools for development. What I have learnt from this process is that when you go to conferences, workshops or are trialling experimental apps to do this on a "Test" machine and to have a "production" machine if this is possible.
Update: So Bahmni worked on another macbook with 8GB. Convinced it is a memory issue. So went on https://talk.openmrs.org/t/inconsistent-grain-table-error-while-doing-a-vagrant-up/5852/11 and found the answer I needed. So change the vagrant file to have 2048 (lower memory) and it works!!! YAY...will check with mentors tomorrow best way forward and consequences of lowering Bahmni memory usage. But so pleased...HURDLE ONE JUMPED! so what I have learnt is that I have another source of troubleshooting this product and it has all the history to help me. Will be on my list to go to for help for future problems.
Plan for tomorrow:
- meeting with Bahmni team
- review HTTP requests
- study Bahmni RESTful API specification
- EVA eat tacos (GTH prefers a burger or as it is Friday probably fish!)
- work on the blog post (to be published by Monday!)
July 04, 2018
Team GirlsCode MK (Bahmni) — at July 4, 2018 13:43 UTC
Plan for the day: start learning React.js!
Eva: Still tired from conference-going and networking in the past two days, I've decided to stay at home and tackle some React.js tutorials. I find React quite challenging and difficult to follow, so after finishing the React intro course that was recommended by Ivo, our Bahmni coach - using React.js to do a tic-tac-toe game - I've started going through the book called Fullstack React. It's a great textbook, focused around building projects. Chapter 1 was building a voting app (Product Hunt clone), chapter 2 is building a timer.
Each chapter is building on top of the previous one and while I'm still struggling with many of the concepts, it's getting easier (maybe?). The plan for the day is to finish chapter 2. Tomorrow will be dedicated to reviewing Bahmni documentation.
GTH then had lunch whilst networking with a developers from TES and talking about legacy code and learning IT in schools.
GTH attended a Teamwork workshop. It was based on theory of teams but also had real experiences from dev teams. Problems, what motivates individuals, teams and then the needs from the perspective of the business. It referred to Hertzberg hygiene factors, Maslow heirachy of needs, recommendations of books, and a discussion of other peoples experiences. This was useful for me to understand common dynamics of dev teams, expectations from different perspectives and how to work in a team consciously for a better outcome both in personal and business needs.
GTH then attended a keynote about should Dev teams be on call. It gave information about more companies doing so and the expectation it will be in new contracts. It discussed about burnout, giving first aid and not to find the root cause of the problem, authority to roll back to last known good or change something to patch up. It talked about being on call on a rota of 1 in 6 weeks as an ideal, the benefits would be to get feedback for the full life of the product from beginning until the product is discontinued. I found this interesting to the debate of resistance and the discussion of compensation and not necessarily just a higher reward.
GTH then networked with a few of the presenters. This is good to just find out what type of jobs they did, to explain about RGSoC and how someone's supervisor is an alumni of RGSoC. This was very nice to hear as it is well thought of. I made a lot of contacts and people were very keen to keep in contact via social media, LinkedIn. The SPA conference is small, friendly and lots of good workshops with other people that genuinely want you to progress from whatever level of developer you are beginner, junior, or senior.
Team GirlsCode MK (Bahmni) — at July 4, 2018 05:11 UTC
Plan for day 2: Check communication channels - Slack, email and RGSoC APP. Agenda for SPA - continue talking to experienced software engineers, listen to their career stories and learning journeys.
Attend ‘What would YOU call this workshop and Other powerful questions by Tim Bourguignon, Mathema software GmbH and Amitai Schleier Latent Agility.
Attend Functional Programming beyond immutability - Duncan Mcgregor and Nat Pryce, Technemetis Ltd
Keynote by Jon Skeet
Internet of things with physical programming by Venus Bailey, Maisie Fernandes and Irene Lau from Government Digital Service. This will be followed by lightning talks and networking until 9pm. I am loving learning but it is very tiring. I hope I can keep up the pace, so my plan will be to rest on train when i can and reduce domestic chores to minimum (aka take out tonight!)
No new communication. Need to look at maybe checking at 8am, 12pm and 8pm??
Eva and GTH attended workshop on a powerful questions. This was really informative which went beyond open and closed.
Eva and GTH attend Functional programming. Pretty advanced talk with lots of buzzwords flying around: Lambda, mutability, side effects, pure functions - it was good to see that even experts were unclear on some of these. This was a less organised workshop and was very fluid with debates and culture issues surrounding functional programming compare to Object Oriented Programming. It was interesting to observe. One of the comments was that engineers struggling to UNLEARN ways that they used to do code.
Eva and GTH attended a keynote about art, craft and engineering. Parallels of art in painting, music and code. I loved the closing statement that diversity should not be tolerated. accepted but understand that it creates a harmony and makes better code.
Attended the IOT session using bbc microbit and python scripts. We looked at git hub repository for existing scripts to copy, adapt and download to device. It was interesting how they are using solutions from nature like fireflies to send signals to each other in a cluster of nodes to synchronise information. It was an interactive session that we thoroughly enjoyed.
Attended lightening talks on various topics like self healing, autonomous repairs, and then a fun tech guess the truth quiz. Whilst there I was talking to other program engineers from TES and her supervisor was an alumni of RGSoC, we also spoke to other engineers who recommended reading growing object oriented software guided by tests, and clean code by robert martin. It was also interesting to hear that confidence and making opportunities was part of the soft skills needed. We were also able to share about the project Bahmni and it is becoming easier and we are becoming more confident about what the project involves.
Learning on communication setup, I need to also check RGSoC - orga on slack as our mentor Ramon will be communicating via this channel. I have now setup notifications and my mobile app so that i can check messages quickly.
July 02, 2018
Team GirlsCode MK (Bahmni) — at July 2, 2018 14:29 UTC
Day 1 - Met with one of the coaches on way to SPA conference. Plan is to do pair programming and network with software engineers. Discuss the lack of diversity in tech and to observe software engineers.
Conference call with Ana-Sofia from RGSoC at 8am. Hoping to meet other teams.
Review - GTH - did AI and Machine learning from the perspective of the UX. As a small group of 4 we looked at the questions an AI Chatbot would ask and respond to for a travel application. This was useful in the way it looked at software development with the emphasis of involving the user and asking very careful designed questions.
Review - Eva - We did performance in regex, some regex can crash your website. The regex 101 debugger to spot inefficiencies. It shows you how many steps it took to complex the regex search. (And how you can improve the performance by modifying the regex)
GTH and EVA attended how to hack your app which OWASP. OWASP vulnerabilities such as SQL injections. We used ZAP tool to scan a broken app and identify vulnerabilities. We install virtual box and worked with linux commands, proxy settings and zap to do this in a controlled environment.
GTH and EVA listened to keynote speach by an african american woman who designed an app at 51 to help victims of domestic abuse.