My GSoc 2024 Week #2 Update: Keep the Momentum Going

Adijsad
4 min readJun 10, 2024

--

Photo by Markus Winkler on Unsplash

Hello everyone, In case you don’t know me my name is Dinakar and I’m a graduate of NIT Calicut. This article is one of those in the series of articles I’m writing to update my GSoC progress. The objective is to make the GSoC aspirants know what the process could look like behind the scenes. So, without any further ado, let me share some of the insights from the discussions I had with my mentors and also my progress through some visuals all happend somewhere in the second week of my GSoC coding period.

A Brief Intro to the Project

Before digging into the details let me give you a brief intro to the project I’m working on. The objective is to develop a platform to publish research papers where the submitted articles get reviewed and rated by individuals anonymously and also by communities. It’s like Reddit for research papers but with anonymous reviews, ratings, and comments. What problem is this solving? Let’s say you’ve produced a top-notch research paper as a part of your thesis and want to publish to reputed organizations like arXiv, PubMed, doi, etc… Guess what! You can upload the same research paper on this website and get valuable feedback from a wide variety of individuals which provides you with feedback support that matches your hard work. It’s similar to open-review website but with more user-friendly interface enhanced with the anonymous rating feature. So you could say it’s solving some sort of a real problem.

Frontend & Backend Combined Update

Previously the Frontend has been written in ReactJS (with no Typescript) and TailwindCSS. As I mentioned in the Week #1 Update article, my primary objective is to shift to NextJS with Typescript and TailwindCSS. The previous website pages were randomly designed without using any design software like Figma. I designed the pages using Pixso and simultaneously implemented them using NextJS and TailwindCSS. Here’s a little sneak-peak for you.

User Interface Demo for SciCommon Website (GSoC 2024)

Credits: I must thank the people who uploaded their beautiful designs on Dribbble from whom I got the design ideas and used some of theirs as my templates. Here are some of the designs I’ve collected specific to my project: Dribbble designs. The community has been great in Dribbble. One can draw inspiration for designing any kind of website from it.

I’ve also mentioned in my previous article that I revamped the Backend shifting from DRF to Django-Ninja to build the REST API. I integrated the backend and frontend logic thanks to orval which helped me generate the Frontend API endpoints code using react-query. So, I didn’t a single line of code for sending requests to the backend using react-query. All I did was I made use of the hooks that were generated and simply provided all the required fields. And there is Typescript which yells at you if you didn’t provide all the required properties. Here are some of the videos of what I did in my second week (combined with first week) of GSoC.

The following is the demo depicting how the Registratoin process could like for the website.

Now the next demo is about how a user could upload his/her article. You can upload your article either using PDF or submitting a link from either arXiv, PubMed or DOI.

I’ve deliberately added the animation when a PDF file or image is uploaded to give that vibe to the end user that the article has been uploaded successfully. Don’t ask me why I did it. I thought it was cool at that moment.

Finally, this is another demo of how I intergated the NextJS frontend and the revamped backend logic for creating a community which includes writing required API endpoints in the backend.

Initially, there were two community types namely public and private. Upon discussions, we concluded creating another community which we called as Hidden Communities. The objective is to let users create hidden communities that will only be accessible (including articles present in it) to the members, moderators, reviewers, and admins of the community.

Final Thoughts

In the meeting and chat discussions (we’re using Zulip for discussions by the way) we had a lot of discussions in which one has to make a lot of decisions. What I did is I made a lot of decisions on my own and some decisions upon consensual agreement with my mentors. I thought you can’t just irritate your mentor with every freaking little detail like how the design should look, do I need to add an animation here and there, can I rewrite the design of the existing page, etc… Moreover being decisive with proper reasoning gives you a lot of satisfaction and boosts your morale up a notch in the end I presume.

That’s pretty much all I’ve got to say about my GSoC 2024 Week 2 progress. If you have any more suggestions or advice feel free to add them in the comments. I’ll be back with another article next week. Until then hit that follow button and stay curious about my next article :)

--

--