Sauvik Biswas

Comics enthusiast, Musician, Programmer and Traveller

  • About
  • Travelogue
  • On Comics
  • Now
Comics enthusiast, Musician, Programmer and Traveller

Coding for 36 distributed hours

Print This Post February 24, 2017 by Sauvik Biswas Leave a Comment

About a month ago, I had worked for three days to come up with a proof of concept for a project collaboration platform aimed at a small company – typically less than 40 people). The webapp was not something that could be actually used by anyone. There were glaring holes and missing functionalities that would be useless for any actual company.

I still had no idea as to how much time would it take to polish it to a point that it would be a commercially viable product.

Here were my objectives:

  1. A project (segment) consists of individual discussions.
  2. A discussion (thread) consists of individual Markdown formatted posts.
  3. A post can contain some text or attachments. It can also have some searchable tags.
  4. A collection of to-do entry resides inside a project.
  5. It is possible to start a discussion thread against a to-do entry.
  6. It is possible to mark a discussion as a to-do entry.
  7. The author of a discussion thread / to-do can assign the to-do to anyone else.
  8. A to-do mark can only be closed either by the author or by the one who has been assigned.
  9. The author of a thread can lock the thread.
  10. The registration system is not open. Only an admin can invite an user.
  11. An admin can grant regular users admin privileges as well as lock their account.
  12. The author of a thread can also invite an external user who can only participate in that thread.

One of the biggest problem with my proof of concept was the MySQL interface implementation. It took me quite a few hours of work to write an abstraction layer that can work with people simultaneously accessing different databases. This was necessary as each company is assigned a unique database while everyone would be accessing these databases via the same code. The solution was not to have a persistent connection but create an on demand connection and cursor whenever a request is received.

One weekend, me and Mogit sat down and drew the interfaces on paper. This became the basis for the layout of the webapp. It’s fairly simple and looks best on a desktop. The CSS needs a lot of tweaking for mobile and low resolution screens. I can safely say that it is far simpler to transform hand-drawn layouts to their HTML+CSS counterparts than toil somewhat aimlessly on a computer.

Once the overall templates were ready, it was all about writing the implementation. Barring a handful of functions, most of the code has been re-written. Just like any other form of art, churning out simple and efficient application in a framework takes time. This also means that I have a fair idea of how to approach an webapp in Flask. Next time, it would be much faster.

We are using Ninjin to develop Ninjin itself. (That’s so meta!)

Two projects focussed on development and bug tracking respectively.

Here is a list of stuff that I will have to do before I can call it a “product”.

This is what the thread author option looks like.

I had kept a track of the number of hours I had spent behind this project. Not counting the initial three day hackathon, I have spent 36 hours in building this app. That’s not bad for a start!

A long-term review of Schwalbe Delta Cruiser
How useful can an app made in 3 days be?
Posted in: Coding Tagged: Flask, Ninjin, python

Search the Site

Subscribe to my blog

Or use these links for your reader: RSS / Atom

Recent Posts

  • A tryst with B+Trees: Part I March 14, 2024
  • Tintin chases a plot for the first time in The Broken Ear March 5, 2024
  • A naive implementation of file-based storage February 26, 2024
  • YetiDB: an academic exercise February 22, 2024
  • That one time we actually trekked to Goecha-La July 9, 2023
  • Tour de Self: From Udupi to Bangalore January 3, 2023
  • Twenty Twenty-One February 23, 2022
  • Day 16: Back to Guwahati December 20, 2020
  • Day 14-15: Bomdila December 19, 2020
  • Day 12-13: Villages around Dirang December 17, 2020
  • Day 11: Dirang Monastery and Mandala Top December 15, 2020
  • Day 10: Through Sela Pass to Dirang December 14, 2020

Tags

Anime Artwork Bande Dessinée Bangalore Batman Berlin Casterman cycling Dark Project Dehradun Delhi Dharamshala Europe Trip '19 Food Graphic novel Guwahati Hergé Himachal trip '15 Himachal trip '19 Hybrid mod '17 Juda ka Talab Kasol Kerala trip '15 Kodaikanal-Ooty Trip '16 Manali Mandi Manga Munich Music NaNoWriMo North-East trip '14 North-East trip '20 Ooty Poetry Prague python Reckong Peo Rishikesh Tabo Tawang Tintin Tour of Nilgiris '16 Trekking Uttarakhand trip '17 Vietnam trip '15

Copyright © 2025 Sauvik Biswas.

Lifestyle Hack WordPress Theme by Sauvik Biswas modding themehit.com