MacPorts GSoC project: Collect build statistics (web app)

Umesh Singla umeshksingla at macports.org
Mon Mar 18 07:49:59 UTC 2019


Hi Rajdeep

On Sun, Mar 17, 2019 at 6:17 PM Rajdeep Bharati <rajdeepbharati13 at gmail.com>
wrote:

> Dear MacPorts Community,
>
> This is with reference to the MacPorts project: Collect build statistics
> <https://trac.macports.org/wiki/SummerOfCode#build-stats>.
> 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.
> I have gone through the history of builds, and also the previous attempt
> of this project.
>
I thought of the following areas where the project can be improved:
>
>    - Whenever a new port is created, then it should automatically be
>    added to the database of the web app. This can be done using Django
>     signals.
>
> 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.

>
>    - 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.
>
> 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.

>
>    - 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.
>
> 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.

>
>    - A dashboard can be present on the website, showing the build
>    history, and/or success metrics.
>    - Tests need to be written and CI can be added.
>    - Scraping of data (JSON) and importing it to the SQL database can be
>    done as documented in the previous project.
>
> I am comfortable with the git workflow and have experience working on open
> source projects. Here is my Github handle:
> https://github.com/rajdeepbharati. Looking forward to hearing from you.
>

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].

Also, do you have access to macOS?

[1]: https://www.macports.org/ports.php
[2]: https://build.macports.org/
[3]:
https://github.com/macports/macports-webapp/blob/master/docs/Database_Design.md

Umesh


>
> Thank you.
> Yours sincerely
> Rajdeep Bharati
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20190318/f30b9038/attachment-0001.html>


More information about the macports-dev mailing list