<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">Rajdeep Bharati</strong> <span dir="ltr"><<a href="mailto:rajdeepbharati13@gmail.com">rajdeepbharati13@gmail.com</a>></span><br>Date: Mon, Mar 18, 2019 at 6:00 PM<br>Subject: Re: MacPorts GSoC project: Collect build statistics (web app)<br>To: Umesh Singla <<a href="mailto:umeshksingla@macports.org">umeshksingla@macports.org</a>><br></div><br><br><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">Thank you. Yes, I do have access to MacOS. I had one more doubt. Should this Django app automatically display new ports whenever a new one is created? I guess there is no such API that gives the current ports ATM; and in that case, would I also have to work on the core MacPorts repositories?</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 18, 2019 at 1:20 PM Umesh Singla <<a href="mailto:umeshksingla@macports.org" target="_blank">umeshksingla@macports.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi Rajdeep</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Mar 17, 2019 at 6:17 PM Rajdeep Bharati <<a href="mailto:rajdeepbharati13@gmail.com" target="_blank">rajdeepbharati13@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div>Dear MacPorts Community,</div><div><br></div><div>This is with reference to the MacPorts project: <a href="https://trac.macports.org/wiki/SummerOfCode#build-stats" target="_blank">Collect build statistics</a>.</div><div>I am Rajdeep Bharati, currently a sophomore, pursuing B.Tech in Computer Science from Jamia Hamdard University, New Delhi. I am really interested in working on the above project this summer.</div><div>I have gone through the history of builds, and also the previous attempt of this project.</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div>I thought of the following areas where the project can be improved:</div><div><ul><li style="margin-left:15px">Whenever a new port is created, then it should automatically be added to the database of the web app. This can be done using <span class="m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr_ m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr_310 m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr-alert m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr_spell m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr_inline_cards m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-gr_run_anim m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-ContextualSpelling m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-ins-del m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-multiReplace" id="m_-4545261577458618483gmail-m_4968806826038683535m_7518719161734174702m_7521091791301225840gmail-m_-5224176461461190361gmail-m_389052860569535702gmail-m_9190947977800603766m_582032076478585264gmail-310" style="display:inline;border-bottom:2px solid transparent;background-repeat:no-repeat">Django</span> signals.<br></li></ul></div></div></div></blockquote><div>Not sure if Django signals can/should be used from outside the application. Adding a port can be as simple as using create_or_update, IMO. But feel free to elaborate on the structure.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div><ul><li style="margin-left:15px">A RESTful API can be build using the database schema, with the help of Django REST Framework, and then the frontend can be made using ReactJS. This would drastically improve the performance of the website, and offer a dynamic and responsive user interface.</li></ul></div></div></div></blockquote><div>An API will be useful to extend the use of the project beyond the Django-app. Right now, a clean interface which can be maintained easily is the priority. But it's again up to the developer to be able to fit the task in the timeline. As mentioned previously in some of the emails on the same topic, a working application is very much preferable over an incomplete project.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div><ul><li style="margin-left:15px">A search-as-you-type search box can be implemented on the website, which would enable the user to promptly find the port/build/file they are looking for. This can be built using Elasticsearch.</li></ul></div></div></div></blockquote><div>I'd not go into this at the moment given the state of the statistics website. But something to be considered in the near future for sure.<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div><ul><li style="margin-left:15px">A dashboard can be present on the website, showing the build history, and/or success metrics.</li><li style="margin-left:15px">Tests need to be written and CI can be added.</li><li style="margin-left:15px">Scraping of data (JSON) and importing it to the SQL database can be done as documented in the previous project.</li></ul><div>I am comfortable with the git workflow and have experience working on open source projects. Here is my Github handle: <a href="https://github.com/rajdeepbharati" target="_blank">https://github.com/rajdeepbharati</a>. Looking forward to hearing from you.</div></div></div></div></blockquote><div><br></div><div>This is the current state of our ports search [1] and builds [2]. Try to come up with either a static mock UI or a working demo UI which can integrate the information from the two (or possibly more!), that will be a good showcase of skills. Here's a quick no-brainer attempt at it from last year [3].</div><div><br></div><div>Also, do you have access to macOS? </div><div><br></div><div>[1]: <a href="https://www.macports.org/ports.php" target="_blank">https://www.macports.org/ports.php</a></div><div>[2]: <a href="https://build.macports.org/" target="_blank">https://build.macports.org/</a></div><div>[3]: <a href="https://github.com/macports/macports-webapp/blob/master/docs/Database_Design.md" target="_blank">https://github.com/macports/macports-webapp/blob/master/docs/Database_Design.md</a></div><div><br></div><div>Umesh</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><div><div><br></div><div>Thank you.</div><div>Yours sincerely</div><div>Rajdeep Bharati</div></div></div></div>
</blockquote></div></div></div></div></div>
</blockquote></div>
</div></div>