So we’re finishing up our second sprint regarding the AMPATH project, and honestly I feel like we’re making some progress. Personally, I’ve been concentrating on Angular fundamentals to help me understand the “big picture” a bit more. I realize I need to implement strategies to hold onto and straighten my knowledge of these fundamentals. To accomplish these goals, one of the tasks I’ve been doing is applying the “Use The Source” pattern. For instance, I’ve been meticulously going over the AMPATH project code, trying to familiarize myself with every aspect of the app’s process.
The authors describing a successful application of the Use The Source pattern seem to emphasize the importance of specific procedures, such as:
- Find an open-source project and analyze its structural pattern.
- Study every aspect of the project, including the code, layout, methods, and history.
- Try to think of why the original authors implemented processes in the ways that they did.
- Seek additional resources giving clarification for procedures that seem unclear.
- Attempt to refactor either parts or the entire project; perhaps in a personal “breakable toy.”
- Ask for (and/or offer) feedback whenever necessary, with an emphasis on constructional criticism.
These points seem to outline the primary objectives I should concentrate on when “using the source.” I’ve been trying to follow this outline the best I can.
After attempting to analyze the structural pattern of the AMPATH app, I’ve been realizing that it seems to rely heavily on HTTP processes and routing. Having limited knowledge of these topics, I felt I needed to familiarize myself with these processes going forward.
I’ve asked for feedback from the AMPATH development team, who suggested that I should focus on understanding the processes of REST APIs. This helped direct my attention to several quality Angular video tutorials concerning these topics.
Now that I have a better understanding of the workings of the AMPATH app, I’ve been working on a Angular breakable toy of sorts. The idea is to replicate many of the pivotal functionalities of the project. So far my “breakable toy” has HTTP, REST (Representational State Transfer) and CRUD (Create, Read, Update, Delete) capabilities. My ultimate goal is to make it sort of a “lite” version of the AMPATH app that emulates the basic idea of the program, such as submitting and retrieving medical records. I want to compare my implementation to that of the AMPATH development team. Perhaps this can help me better understand why they implemented certain processes in the fashion they did.
Following these aforementioned procedures are helping me successfully apply this pattern. I recommend that anyone looking to further their progress in any complex open-source project to “Use The Source.”
From the blog CS@Worcester – Jason Knowles by Jason Knowles and used with permission of the author. All other rights reserved by the author.