Nikhil Hari    

Computer Science Masters Student | Kristu Jayanti College.

Proficieny

I am proficient in .NET Core, especially ASP.NET Core and Blazor. I have done many projects in .NET and C#, and these are one of my strongest fields.

I started my coding journey in Visual Basic, mostly as a hobby project, and developed a few small VB6 applications, one being a small music player based on Windows API. I learnt Java soon in my 10th curriculum, and further learnt a lot of Java, making Java as the first programming language that I actively used OOPs concepts in. I am quite familiar with OOPs concepts and how Java does it, and started with GUI programming in Java. I learnt Java Swing, and JavaFX over the course. Since JavaFX is best done with maven, I picked up a lot of maven in this process. I have also experimented with C++, Kotlin, Python, and JavaScript.

Today, I am familiar with C# and the .NET Core ecosystem, Java, JavaScript, Web Designing, and good old C.

You can take a look at my GitHub: cruciformhawk7.

Projects I've worked on

Faculty Workload Allocation System (FWAS)

Frontend for FWAS Server using Blazor. Most of the components designed from scratch. Uses REST Service to communicate with the backend API Server. Features include Caching, micro-service ready architecture, and a neat dynamic UI.

Noot

A very simple note taking PWA, made with Blazor WebAssembly, featuring MVC architecture. Stores data on LocalStorage. Responsive UI for phones, or PC. All the components are written from scratch. Try it now!

SwiftBank

SwiftBank is a banking suite written in ASP.NET Core and MongoDB. It features secured sessions, email logins, and simplified transactions. Here, I learnt a lot of MongoDB and schema generalisation, improving Models and sharing the schema with MongoDB, improving session handling, and Unit Testing.

Dict.cs

A very simple implementation of autocorrect with HashMap (Dictionary), written in C#. Includes word learning, neighbour suggestions, typo detection, and word completion. Here, I learnt how to improve algorithm runtimes, avoiding hash collisions and writing algorithms to enhance inbuilt features of dictionary.