DEV Community

What I Learned From Not Planning A Web App (from start to finish)

Jen Chan on December 12, 2017

I recently launched Important Men, an art project I'd been shooting for two years. I deployed in October, but the maintenance and debugging dra...
Collapse
 
ben profile image
Ben Halpern

Great retrospective. And super beautiful project. I did find what seems to be a bug in that I can't ever scroll enough to get Paul highlighted.

I also love the gif at the top of this post. It reflects the beauty of the project.

Collapse
 
jenc profile image
Jen Chan

Thanks for your encouraging words. I also noticed this menu highlighting to be synced weird as the Paul label is the first item highlighted on mobile view and I'm still wondering why that is. The code snippet is JQuery and I guess, it's reading Paul as the last item to highlight when it figures out which labels are attributed to #names. Screenshot of mobile view

Collapse
 
roger profile image
Roger Stach

ask a white man 😂

Collapse
 
tomazfernandes profile image
Tomaz Lemos • Edited

Very interesting article, I’m actually kind of doing a similar thing myself right now, using Java / Spring boot, Heroku, sendgrid and MongoDB for a web app I plan to get done in few weeks.

I went for the “move fast, break things” kind of philosophy, and also am using most of the stack for the first time, so really doing the opposite of what you suggest, haha.

In my case it’s really a side project, intended first for learning purposes, then as portifolio, and last as a real thing, so I’m actually enjoying going past all the difficulties that come around.

It’s going kind of well, or at least my job colleagues seem to be enjoying the fast pace I’m being able to deploy things which work, specially being a junior dev.

It’s definitely not as sofisticated as your app, so there’s that too.

Very happy to be writing a comment in Dev.to for the first time, been around for some months and I like the arcticles here very much.

Best of luck with your app and cheers from Brazil!

Collapse
 
jenc profile image
Jen Chan

It’s good to hear you’re getting on with your colleagues. That’s probably the most important part of work.

There’s no such thing as more or less sophisticated in my world (no compsci fundamentals and last did grade 10 math). I’ve always been the kludge-til-it-works type too but i had the help of a friend who told me i had to slow down.

It’s always interesting hearing how someone reaches their end product. I’m getting a lot of joy working with what I have too! What has working with Java and Spring been like?

My next step I guess, is to learn a more contemporary version of a JS framework as my last was Angular 1.x

Collapse
 
tomazfernandes profile image
Tomaz Lemos • Edited

Hi Jen, you’re right, I’ve been very fortunate to have been working with fine developers who are eager to instruct me and with whom I’ve been able to get along well. That’s really priceless and without that there would be no app or anything like that.

I’m usually tend to have a more thoughtful approach to things (or not? rs), but for this particular app I set an kind of absurd goal of having something new to show every day to my colleagues, so I just code enough to get things done and refactor as needed. I think it’s some kid of twisted TDD, rs, if it passes the (manual) tests, that’s good enough.

Working with spring boot has been a breeze, it literally took me a few minutes to get the app up and running (which for a Java developer is a great achievement, it usually took hours of configurations and framework choosing). I don’t even have to write repository classes, just the interfaces, Spring knows what to do by the method name (!), and doesn’t care if I’m on sql or MongoDB.

Having lots of trouble to understand MongoDB principles tough, but I think I’m starting to think in a way it helps me, and not in a “how I do this sql stuff in it” way. I’m not sure it’s really the right tool for the job tough, as I have to deal with a lot of numbers and calculations with data I can structure, so maybe I’m going to change to a mixed approach, but no hurry into making that call.

I kind of ended up with a single class which contains all the other classes I need for my views, and I crawl through a cache of it when I need some specific information inside. Not a very optimized approach, but once the app is online things happens really fast, so that’s ok for now.

Some teams in my company are using a Angular 4 / Java stack, I’d really like to try that. How was learning angular 1, did you enjoy it, or was it a too steep learning curve?

Glad to hear you’re getting joy too, I think we’re very fortunate to be able to work with something we really enjoy doing!

Collapse
 
jenc profile image
Jen Chan

Thanks for reading!

Agreed, "bombproofing" is a tall order and we don't know what we don't know.

I think what I meant was, my app shouldn't crash or produce anomalous logs just because a user made 2-3 requests in a row. :p

Collapse
 
asaaki profile image
Christoph Grabo

My biggest learning so far: accept failure. Embrace it!

Each project, feature, every deployment is part of your continuous learning. Spend some time after something went wrong and understand what the problem was and how you can avoid it in the future.

Allocate time properly!

Your 1.5x rule is a very good start.

But do it not only in your final sprint, do it more often. Learn to estimate, get better at it. Set realistic goals and deadlines.

Most important: take care of yourself!
Burnout is real and can easily outweigh a successful project.

We tend to learn and focus mostly on the technical part of our work, and forget that we're still human beings.

🦄💙

Collapse
 
dangolant profile image
Daniel Golant

Oh man, this is great! Beautiful project and a really under-covered subject! I've been meaning to do something like this for linkmelater.win, thanks for the inspiration to get it done :D.

Collapse
 
jenc profile image
Jen Chan

Ah that’s a great little chrome extension! How does it decide when to send the email back? Is it immediate? I’m glad my post was motivating.

Collapse
 
dangolant profile image
Daniel Golant

It randomly selects a link from the collection of links you've saved (links don't get selected if they're less than a day old though), and then either sends it individually or in a digest. I have the skeleton of a post written about the technical challenges I had to deal with, but I may post here looking for testers while I polish the app and the deeper-dive post :D .

Collapse
 
xputerax profile image
ad

I've been there, still there.