Journey of GSOC’21 #1

Asela Dasanayaka
2 min readJun 16, 2021

--

The day Selected for GSOC 2021 is one of the happiest moment in my life. Since I am in the last semester of my master’s program, this is my last chance to do GSoC. With a little bit of luck, there I was. I selected GSOC 2021.

https://www.embecosm.com/app/uploads/gsoc.png

I selected to project TensorMap revamp at Score Lab organization.

About the project

As the name suggests, the project is about revamping the tensorMap application. TensorMap is a Deep learning tool that can visually create deep learning models, and TensorMap will auto-generate the code. Not only that it also, run the code in the background and display the results for the user as well.

Initially, when I start the project, the project was a mess. Most of the project dependencies are outdated, and I have to debug for some time to up and run the project. That is the reason for the revamp. Make TensorMap great again.

Community bonding period

The community bonding period is great. I connected with the mentor organization as well. My past open-source experience with LibreOffice and work experience help me to succeed in the community bonding period.

The first week of the GSoC

As the first milestone, I planned to revamp the backend. The first week's task is to create a new Flask project and created a standardized project architecture that can grow smoothly with future developments.

.
├── README.md
├── app.py
├── .env
├── .gitignore
├── config.yaml
├── endpoints
│ ├── DataProcess
│ ├── DataUpload
│ └── DeepLearning
├── requirements.txt
├── migrations
│ ├── README
│ ├── alembic.ini
│ ├── env.py
│ ├── script.py.mako
│ └── versions
│ ├── db_migration_table_v1.py
├── setup
│ ├── settings.py
│ └── urls.py
├── shared
│ ├── request
│ │ └── response.py
│ ├── services
│ │ └── config.py
│ └── utils.py
├── static
└── templates

Here is the planned backend organization. One of the most important issue with the last TensorMap version is dependency management. To solve this issue, I used python virtual environments.

To manage environment variables, I used a .env file and config.yaml file. The database migrations used to maintain a smooth database build-up. The setup.py and urls.py files handle the application-wide settings and URL management. The generic response type for back-end requests was introduced to maintain a smooth data transfer between the back-end and the front-end.

{
“success”: true / false,
“message”: “Response message”,
“data”: null / JSON object if available
}

Next week Tasks

Tasks for the next week is to implement the individual API endpoints. Stay tuned for more updates. I will meet with more updates next week.

--

--

Asela Dasanayaka
Asela Dasanayaka

Written by Asela Dasanayaka

Software Engineer, Data Science Enthusiast

No responses yet