Today I’d like to say “hello” to the programming competition Daj Sie Poznac 2017 (en. Get Noticed) which I decided to take part in. For those who don’t know, DSP is organized by Maciej Aniserowicz, the owner of devstyle.pl blog, and it’s already its third edition this year.
Basic concept of DSP
Long story short, the main concept behind DSP is to develop an open-source project of any kind, in any technology, in the same time sharing your knowledge and project’s development processes by blogging about it. The competition lasts for 3 months – from March to May – during which at least 10 weeks must be spent on project’s development and blogging. At least 2 blog posts per week must be written, from which one must be about the project itself, and the other may be on any IT-related topic. As the project is open-source, source code is stored on public Git repository on GitHub.
My way for DajSiePoznac
When the competition was held last year I regretted I finally didn’t take part. I was sure I must try the next year, so now it’s happening 🙂
Normally I have not much time for programming or developing pet projects after work, as I’m still finishing my Master’s studies on weekends, but this time I decided to take part in the competition as I think it may be (actually it already is!) very motivating to develop myself, broaden my horizons by exploring new technologies and finally to open for the programming community by blogging. I’m very excited, so let’s see how it goes!
Looking for a project’s idea
I spent few weeks trying to find an idea for the project to do for DSP’17. I had two assumptions looking for it:
- technology must be .NET-related
- the app/framework/solution to develop should solve a real life problem
Apart from those two, I’ve always wanted to develop an Android application using Xamarin, writing C# code. During my engineering studies I’ve had a chance to take part in a great project in which I was responsible for back-end development of an Android application, but it was written in Java. I also had almost no programming experience that time, so the quality of this product wasn’t the best (it was however very good project in the end).
I even installed Xamarin last year, but it wasn’t free for use yet that time – I had some student license, but I had that feeling that even if I create an app using it, after my license expires I would need to stop developing it or pay quite much for it. Now, as Xamarin was acquired by Microsoft and it’s free, it’s even more motivating to use it.
Apart from that, I’ve never finally programmed using Xamarin, so it’s totally new technology for me which is also the advantage I can learn it.
So I’ve had my technology chosen. Then, I considered many different ideas for the project, each time realizing that something like that already exists, which made me very demotivated… And then I realized that actually it doesn’t matter what idea or project I choose, if it already exists or not – it should be something I’d like to do and what seems interesting to myself. In the end that would be me developing that product*, right? 😉
* I used word “product” above, which means something that may be really used by the other people, but for me this may only be a “side effect” of DSP’s contribution. If I manage to create something useful for the others – that’d be great. If I don’t – it’s still cool. The most important is to take a part in the competition, survive 🙂 to the end and be proud.
MoneyBack – my project for DSP’17
Finally I decided to create an Android mobile application, written in Xamarin using C#, which purpose is to help settling the money between group of people (friends, family, workmates etc.).
Many times I’ve personally been in the situations when I pay for some activity in which a group of people take part. After, the money needs to be split between all participants. First of all, I’ve always done it manually, creating some Excel file which counted how much money does the particular person owns and to whom. Secondly, sometimes there are cumbersome situations when someone owns you the money, but just forgets about it (even you reminded him/her few times already) – you don’t want to be rude coming to the person all the time asking “give my money back, *****!” 🙂 ), so the app will do that for you. That’s why I called the project MoneyBack (wanted it to be GiveMyMoneyBack initially, but I consider it too long!) – there are already many costs-splitting applications, but this one will rather focus on the person who pays for the others. Of course its other purposes are just to split the amounts between the people, calculate who owns how much to whom, send notifications to the participants etc. so you don’t need to use Excel or contact everyone separately to tell them how much they owe you and for what.
More details to come. I’ll focus on the mobile app first. I’d like to create also some kind of web service (e.g. using ASP.NET Core, which would also be the technology I’ve not used so far), with which the app would synchronize (e.g. to present the summary and current state of settlements on the web page visible to all participants or keep the history and backups), but I don’t want to make any declarations. First, let’s focus on the Android side, then we’ll see 🙂
You will be able to find MoneyBack‘s source code on GitHub.
Next weeks and months (hopefully!) are going to be intensive. I hope I’ll arrive to the end of DSP’17. I wish all the participants good luck and all the best in your daily works on your projects 🙂 See you soon!