I’m not going to make any excuses – I’ve just failed. The current state is that I can display advertisements within a category, display some of their details and register a new user. It doesn’t even look decently – I’m not good at designing UI in general nor is Bootstrap sufficient alone, so the visual part will require some unpleasant effort.
What I’ve done well is learning TypeScript (to some extent) and Angular 2 (to some larger extent) from scratch and I rather like both of them. Ah, and another achievement is holding on until the end of the contest.
What I could have done better is getting started faster (abandoning ambitions to do it perfectly at once), registering earlier, designing earlier. There was time pressure because of late registration and no possibility of having a break, which resulted in writing code and blog posts in a hurry and I think it’s easy to notice. I could have also got familiar with Bootstrap at the very beginning, provided a mock layout (even only on a branch or a few ones) and implemented behavior afterwards. I’ve done it the other way around, so screenshots presented here were ridiculous and sparse. I was ashamed of showing them, so I limited posts to text only which looks uninteresting.
What I’ve done completely wrong is choosing an incorrect database system. I chose technologies because I wanted to deal with them, the application itself was only a supplement. It turned out to be impossible to model my data using a hierarchical structure which is essential in MongoDB. Using it the same way as a relational database is absolutely insecure and may lead to data inconsistency. There should be some thread safe solution for accessing the database, but I was already fed up with the topic and I decided to continue anyway.
What I’m going to do next is continuation of implementing at least some of the planned functionality, but rather without writing here regularly, in order not to pollute the Internet anymore.