Graphinder – Quick summary and what next

As Daj Się Poznać 2016 is over, I’d like to share what I have learned, what is current state of Graphinder and what will come next for this project (as it’s not over yet!).

What I’ve learned

Technologies and design concepts

I’ve experimented with many concepts, frameworks and libraries that I wanted to potentially use in my project. Some of them have been already incorporated in project, some of them will be incorporated in nearby future and some of them were left out as decisions had to be made.
I was quite new to Reactive Extensions that I’ve already used in my project and will use even more in nearby future. As I’ve moved on to a very new approach for me – that is – microservices design, I’ve also learned a lot about Actor Model and frameworks based on it, ie. Akka.NET and Microsoft Orleans. As Orleans got my love for now, it will be used in Gateway.Api soon.
Finally, I’ve reached a place in my self development where I feel confident enough to embrace Test Driven Development, that I’ve also embraced during this project.

Soft skills and self development

Although it seems it wasn’t a case for every competitor in Daj sie poznac, I felt obliged to share my progress on both blog and Github.
I’ve enforced a week discipline and managed to both post twice a week and commit multiple times a week to the project.
What I’ve also learned is that none of us is bulletproof and creating a project after hours is a tough task from both social, family and physical point of view. Sometimes, I had to let go to get some rest, charge batteries and spend time with family but overall, I think the result came out great. 😉

Skills I have refreshed

As a developer with experience in ASP.NET stack but working currently in game developement in Unity3D environment, I’ve also managed to refresh some of the web stack skills, mainly ASP.NET WebAPI skillset, some of the web design concepts and Azure deployment and configuration concepts for web applications.

Current state of project

What has been completed

I’ve managed to complete two algorithms (Simulated Annealing and Genetic Algorithm) that work on one optimization problem (Minimum Vertex Cover), reporting reactively with Rx.Net on every progress update.
Completed solution finding gets persisted using Entity Framework to Sql Server, where I’ve embraced CQRS approach of commands and queries instead of Repository pattern.
There’s also basic mechanism for registering, connecting and delegating work to solution finding Web API instances in Algorithms service context from Gateway, yet there’s still much work to come.

What’s still to come

Well, actually the front end of application is.. well.. still to come. 😓
Also gateway is not fully functional (misses few administration and business concepts) and Orleans silo is waiting for deployment and configuration for progress report to SignalR hubs.

As for the rest, well… Let the code defend itself:

What’s next?

The project will be on hold until holidays will come. I’ve been quite busy with other projects and everyday life, so both gateway fixes and frontend implementation will need to wait. All I can promise is that project will not end with Daj sie poznac and it will go on as my playground for improving both architecture design and coding skills for upcoming future.

And, in the end, congratulations to all of the competitors that made it to the end. Good luck! 👍

Leave a Reply

Your email address will not be published. Required fields are marked *