a retrospective:

products/tourist api v1

Dibri Nsofor
4 min readSep 12, 2021

tldr: we did not win but I learned a lot. I met some amazing people and got a pretty solid project out of it.

The following paragraphs may lack coherence of any kind

dashboard endpoints
/register [authentication: none]
@params: email, password, first_name, last_name, business_name, phone
response: user object { email, firstname, lastname }, jwt
/login [authentication: none]
@params: email, password
response: user object {email, firstname, lastname, integrations}, jwt
public endpoints
POST /customer [authentication: secret key]
@params: first_name, last_name, email, phone
response: customer object
GET /attractions [authentication: secret key]
@params: none
response: array of tourist attractions

last year, I joined the Facebook build for SDG hackathon. I was paired with 5 other developers: some n00bs and some seasoned. I volunteered to lead the team; that meant setting up the repositories for the project, managing and reviewing PRs, organising team meetings, making sure we meet deadlines and finding ways to engage all of my teammates.

There was no crazy process for coming up with ideas to work on. We just tabled the ideas and sub topics (the hackathon offered) that we were interested in and had the team vote. We settled on building a web app to help promote tourism in Africa. Our goal was simple, to “expose the world to tourist attractions in Africa.” To do this, we decided to allow users book to visit attractions, see hotels in the area, and see flights going these locations, we even decided to include a QR code feature to assign a code to each location (lmfao… I can’t even remember why) but we split the team according to desired roles and everybody got to working. The UI came together, then the front-end and eventually even the back-end started to come together smoothly.

The weeks that followed were very different. As if imposter syndrome did not already get enough airtime, it was beating me tf up. I felt terrible. I had just started working with Django about a month before joining the hackathon and working as the sole back-end developer on the project wasn’t easy. There were supposed to be 2 back-end developers, Kamula and I, but I think he found my questions to overwhelming and ghosted (he said he was preoccupied with engagements he signed up for before joining the program). No shit but during the time he helped out, he did not do much programming but was able to walk me through most of the problems I encountered.

Idk but working alone with too many new tools and technologies with such little time to work with was a little too tasking for me but being a real G like me (moving in silence like lasagna), I was able to build a good number of the intended endpoints, most of which were listed at the beginning of this post.

The first couple check-in days with the Andela staff were surprisingly a success. Because we had mapped out a plan with respect to the time we had left, we were able to go into all of our meetings with sufficient enough project updates.

By the third round (i think?), I had started to use pillow to bring the QR code bit to fruition; but I was down bad. I couldn’t get anything to work and I could not understand why. Sometimes it would perfectly generate the qr codes in local directory but not appear when I try to request it. Other times, the entire project would not work. Maybe it was because at that time i did not know virtual environments were a thing and had all of my project dependencies in my global system’s environment, maybe it was because of bad code structure or maybe I was just overwhelmed. It was probably all three but you know, charge that to the game. Long story short, I was not able to meet the last deadline even after spending nights trying to fix it. Lmfao. I should’ve just submitted the project link while I was still working to fix it, Noob mistake.

Anywho, the relief that came with getting cut from the program was beautiful. I finally had time to rest without feeling like I was letting myself or someone down. I also sorta kinda blame the Andela team for the loss, they would not assign another back-end developer to the team even after making so many requests. I am sha glad I got to join the hackathon. I learned the benefit of team building, I got to work remotely with my teammates on a project I was passionate about at the time, I gained confidence, and I also got to add almost 10 years worth of Django experience to my belt. Most importantly, I learned why the project did not come together as well as we had hoped. We put ourselves in a corner picking such a niche category and had to spend crunch time trying to overcompensate with unnecessary features because we did not have a unique solution. We could have just genuinely tried to solve a more common problem, one we all face in our day-to-day lives as Africans.

What’s next? I don’t know. I am only writing this after revisiting the code a year later to work on documentation. I am thinking up ways to reuse the code to build a better tool than trying to fix African tourism. If you have any ideas you think would work, text me on twitter @blacksyre.

shalom,
dibri nsofor

--

--