Software Engineer
& Developer

Hi, I'm Akash Singh, A versatile, high-energy mobile application developer with the distinction of executing prestigious projects of large magnitude within strict time schedule , India

High knowledge on
Technologies

4

Years of best and successful work experience
About Me

A passionate Mobile Application Developer based In Noida, India

Android UI/UX Designer | Native Android Developer | Freelancer

A versatile, high-energy mobile application developer with the distinction of executing prestigious projects of large magnitude within strict time schedule.

Adept in analyzing information system needs, evaluating end-user requirements, custom designing solutions, troubleshooting for complex information systems management.Well versed with Android Application Development (Enterprise Mobility Solutions).

Proficiency in technical documentation, design, development and troubleshooting for Mobile Application Development (using via, Java, kotlin ,Jetpack Compose,Android Applications, etc.)

Services

I offer a Full-cycle of Mobile Application Development Services

Android95%
Java80%
kotlin90%
Jetpack Compose80%
Node Js75%
Graphql90%
  • Design

  • Development

  • Quality

  • Testing

  • Deployement

  • Maintenance

Projects

Each project is a unique piece of development

Glimpse of Vlogs, I really enjoy making vlogs. I know that in today's world where there is so much talent, it is very difficult to prove yourself. But I'll keep working hard and never give up until I prove myself to you guys.

Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Reviews
Blog

Check out the latest information and insightful views on technology

  • SOLID principles are an object-oriented approach that are applied to software structure design. It is conceptualized by Robert C. Martin (also known as Uncle Bob). These five principles have changed the world of object-oriented programming, and also changed the way of writing software. It also ensures that the software is modular, easy to understand, debug, and refactor.

    SOLID is a mnemonic acronym.

    It helps to define the five basic object-oriented design principles:

    Single Responsibility Principle

    Open-Closed Principle

    Liskov Substitution Principle

    Interface Segregation Principle

    Dependency Inversion Principle

    Single Responsibility Principle

    The single responsibility principle states that every Java class must perform a single functionality. Implementation of multiple functionalities in a single class mashup the code and if any modification is required may affect the whole class. It precise the code and the code can be easily maintained.

    Open-Closed Principle

    The application or module entities the methods, functions, variables, etc. The open-closed principle states that according to new requirements the module should be open for extension but closed for modification. The extension allows us to implement new functionality to the module.

    Liskov Substitution Principle

    The Liskov Substitution Principle (LSP) was introduced by Barbara Liskov. It applies to inheritance in such a way that the derived classes must be completely substitutable for their base classes. In other words, if class A is a subtype of class B, then we should be able to replace B with A without interrupting the behavior of the program. It extends the open-close principle and also focuses on the behavior of a superclass and its subtypes. We should design the classes to preserve the property unless we have a strong reason to do otherwise.

    Interface Segregation Principle

    The principle states that the larger interfaces split into smaller ones. Because the implementation classes use only the methods that are required. We should not force the client to use the methods that they do not want to use. The goal of the interface segregation principle is similar to the single responsibility principle.

    Dependency Inversion Principle

    The principle states that we must use abstraction (abstract classes and interfaces) instead of concrete implementations. High-level modules should not depend on the low-level module but both should depend on the abstraction. Because the abstraction does not depend on detail but the detail depends on abstraction. It decouples the software.

  • Dec 1, 2022 Technology

    Node Js

    Node.js is a cross-platform runtime environment and library for running JavaScript applications outside the browser.

    It is used for creating server-side and networking web applications. It is open source and free to use. It can be downloaded from this link https://nodejs.org/en/

    Node.js also provides a rich library of various JavaScript modules to simplify the development of web applications.

    It is used for server-side programming, and primarily deployed for non-blocking, event-driven servers, such as traditional web sites and back-end API services, but was originally designed with real-time, push-based architectures in mind.

  • Features of a good app architecture.

    Separation of concerns. This principle means that different entities should be separated in the code. It helps with reusing those entities, systematizing development, easy debugging, and isolating frequently changing parts so they don’t affect others.

    Testability. With appropriate architecture, it is way easier. QAs will find it helpful to write test cases and be able to test functionalities separately. You will avoid finding issues in runtime, which usually means a week-long fix.

    Reliability. A well-chosen architecture is crucial to creating stable apps without major inconsistencies because it defines how parts of code interact with each other.

    Scalability. Your app should have a solid basis for the buildup of new features and changes according to business needs. It also should be suitable for future renovations (e. g., new libraries, operating systems) in programming technologies.

    Maintainability and ease of use. A good architecture simplifies code for both writing and reading. It can also result in a low maintenance cost.

    MVC

    The Model-View-Controller (MVC) is a well-known design pattern in the web development field. It is way to organize our code. It specifies that a program or application shall consist of data model, presentation information and control information. The MVC pattern needs all these components to be separated as different objects.

    Model

    It represents the business layer of application. It is an object to carry the data that can also contain the logic to update controller if data is changed.

    View

    It represents the presentation layer of application. It is used to visualize the data that the model contains.

    Controller

    It works on both the model and view. It is used to manage the flow of application, i.e. data flow in the model object and to update the view whenever data is changed.

    MVVM

    Every good developer wants and tries to create the most sophisticated applications to delight their users. Most of the times, developers achieve this on the first release of the application. However, with new feature addition, fixing the bug without putting a lot of consideration into the structure of the application code becomes difficult due to code complexity. For this, there is a need for good clean structure of code.

    MVP

    MVP pattern overcomes these challenges of MVC and provides an easy way to structure the project codes. The reason why MVP is widely accepted is that it provides modularity, testability, and a more clean and maintainable codebase. It is composed of the following three components:

    Model

    Layer for storing data. It is responsible for handling the domain logic(real-world business rules) and communication with the database and network layers.

    View

    UI(User Interface) layer. It provides the visualization of the data and keep a track of the user’s action in order to notify the Presenter.

    Presenter

    Fetch the data from the model and applies the UI logic to decide what to display. It manages the state of the View and takes actions according to the user’s input notification from the View.

Contact

Feel free to contact me if any assistance is needed in the future

  • Location

    Noida, India
  • Phone

    +91 9598588916
  • Mail

    akashsin1996@gmail.com
Please Fill Required Fields