First check-in to GSOC’20 @ Python Software Foundation

Published: 06/01/2020

Hello! I am Aditya Sharma, a second year Computer Science student and a Linux enthusiast who is crazy about web performance. I am really excited to work with our team of amazing mentors, developers and designers at The EOS Design System. Cheers to my journey as I share what I did before the official coding period starts.

What did I do this week?

“Live as if you were to die tomorrow. Learn as if you were to live forever.” — Mahatma Gandhi

I spent much of my time in learning in-depth the technology stack involved for my project. This mainly includes Strapi, Node.js based headless CMS for the back end and React for the front end. I also learnt about MongoDB and API design principles by implementing a ToDo API with user authentication.

My project work for the week included creating the base with router, linter and formatter configuration used at EOS for client side implementation with Create-React-App.

To save time and energy in the future I followed DRY principle (Don’t repeat yourself) and built a custom template which enables us to select a template to create our project from, while still retaining all of the features of Create React App without ejecting. This is maintained here and we published it as a NPM package here (also my first :P). My mentor Cynthia guided me really well on how to automate the package release with semantic-release and GitLab CI/CD.

What is coming up next?

As planned with my mentors I will create some models in the eos-strapi instance. Models in Strapi are a representation of the database structure and are split into two separate files. A JavaScript file that contains the model options (e.g: lifecycle hooks), and a JSON one that represents the data structure stored in the database.

I will further collaborate with Devesh(my awesome GSOC partner :) to implement authentication, authorization and identification of users on the client (React) and server side (Strapi) which internally uses JWT (JSON Web Token).

Did I get stuck anywhere?

I came across one strange problem while developing the template for Create-React-App. My implementation on running did not download the development dependencies for the project. After exploring the create-react-app repository by Facebook I found a recent commit which fixes the problem here. It will be shipped to production soon. This also helped me to learn more about how our famous zero config create-react-app does that magic internally.


This marks an outstanding start to my GSOC journey with PSF and EOS which may continue even beyond time can track. Cheers to an awesome never ending journey :)