Kentico

MVC Development in Kentico

Aug 9, 2024 | 15 Mins Read

Kentico MVC development has become a pivotal aspect for developers aiming to leverage the full potential of Kentico CMS using the ASP.NET MVC architecture.

As businesses increasingly demand more flexible, scalable, and efficient web solutions, Kentico MVC provides a robust framework to meet these needs.

Using Kentico MVC allows developers to separate concerns within their applications, leading to cleaner, more maintainable code.

It also enhances performance and provides more control over HTML output, which is crucial for SEO and user experience.

With Kentico 12 MVC, Kentico has moved away from its traditional portal engine model, encouraging developers to adopt modern web development practices.

In this guide, we'll cover essential topics such as understanding MVC architecture, the benefits of using Kentico MVC, a detailed step-by-step development process, best practices, and how Kentico MVC integrates with cloud platforms like Azure and AWS.

Whether you're new to Kentico MVC or looking to refine your skills, this guide will provide the knowledge and tools you need to succeed in Kentico MVC development.

Understanding MVC Architecture

Model-View-Controller (MVC) is a design pattern used in software engineering to separate the application logic into three interconnected components: Model, View, and Controller.

This separation of concerns helps in organizing code in a more maintainable and scalable manner.

  • Model: The Model represents the application's data and the business logic. It is responsible for retrieving data from the database, processing it, and returning it to the Controller. In the context of Kentico MVC development, the Model interacts with Kentico's API to fetch and manipulate content.
  • View: The View is responsible for rendering the user interface. It displays the data provided by the Model in a format suitable for user interaction. Views in ASP.NET MVC are typically written using Razor syntax, which allows for clean and efficient HTML generation.
  • Controller: The Controller acts as an intermediary between the Model and the View. It handles user input, calls the appropriate Model methods, and determines the appropriate View to display. In Kentico MVC, Controllers are where most of the application logic resides, including handling requests and manipulating data.

Understanding MVC architecture is fundamental for Kentico MVC development as it underpins how you structure your application and handle interactions between different parts of the system. This foundation sets the stage for effectively leveraging Kentico's capabilities within the MVC framework.

What is Kentico MVC?

Kentico is a well-known Digital Experience Platform, popular among businesses.

Kentico MVC represents a modern approach to web development within the Kentico ecosystem, aligning with the widely-used Model-View-Controller (MVC) pattern.

This development model separates the application into two distinct web applications: the MVC application and the Kentico application, each serving a specific purpose.

  • MVC Application

The MVC application is the front-facing site presented by a standard ASP.NET MVC application.

This setup brings all the flexibility and benefits provided by the ASP.NET MVC framework, allowing developers to create dynamic, responsive, and high-performance websites.

The Kentico API is integrated into the MVC application using NuGet packages, enabling seamless interaction with Kentico’s content management features.

This integration ensures that the MVC application can efficiently handle tasks such as content retrieval, user authentication, and data manipulation.

  • Kentico Application

The Kentico application serves as a robust content repository and provides the administration interface for managing the website.

Built on ASP.NET Web Forms, this application includes default functionalities such as content editing, user management, and workflow automation.

In addition to this, it supports custom modules tailored to specific business needs.

The administration interface is user-friendly, enabling content editors and administrators to manage site content without needing deep technical knowledge.

  • Shared Database

Both the MVC and Kentico applications share the same database, ensuring consistency and data integrity across the entire system.

The Kentico API facilitates communication between the applications, allowing for seamless data operations.

Web farm functionality is utilized to synchronize changes between the applications, managing both data cached in memory (e.g., settings, page content) and files (e.g., media libraries).

This synchronization ensures that updates made in the administration interface are reflected on the live site in real-time, providing a cohesive user experience.

Understanding the Kentico MVC development model is crucial for leveraging its full potential, ensuring that your web applications are not only robust and scalable but also flexible and easy to maintain.

The Benefits of Using Kentico MVC

Implementing the Kentico MVC model brings numerous advantages to web development projects, providing a robust, scalable, and flexible foundation.

Here are the key benefits of using Kentico MVC development:

1. Separation of Concerns

The Kentico MVC model separates the application into two distinct parts: the MVC application for the live site and the Kentico application for content management.

This separation promotes a clear division of responsibilities, making the codebase easier to manage and maintain.

Developers can focus on building and optimizing the user-facing site, while content editors and administrators manage content in a dedicated interface.

2. Enhanced Performance

Using ASP.NET MVC allows developers to create high-performance web applications.

The MVC architecture facilitates efficient request handling and resource management, leading to faster load times and a smoother user experience.

The integration with Kentico’s powerful API ensures that content retrieval and manipulation are handled efficiently.

3. Flexibility and Control

Kentico MVC provides developers with the flexibility to use modern development tools and practices.

The ASP.NET MVC framework offers complete control over HTML output, enabling developers to create responsive, SEO-friendly web pages.

The use of Razor syntax for views further enhances the flexibility and control over the presentation layer.

4. Scalability

The Kentico MVC model is highly scalable, making it suitable for projects of any size.

As your website grows and traffic increases, the MVC framework can handle the added load efficiently.

The shared database and web farm functionality ensure that both the content management and live site components can scale independently, providing optimal performance.

5. Improved Security

Security is a critical aspect of web development, and the Kentico MVC model addresses this with robust security features.

The separation of the front-end and back-end reduces the attack surface, and the integration with Kentico’s API allows for secure data transactions.

Moreover, developers can implement best practices for securing MVC applications, such as input validation and authentication.

6. Streamlined Development Process

Kentico MVC simplifies the development process by leveraging the power of ASP.NET MVC.

One can use familiar tools and frameworks, reducing the learning curve and speeding up the development timeline.

The use of NuGet packages for integrating Kentico’s API ensures that developers have access to the latest updates and features.

7. Better Collaboration

The clear separation between the live site and the administration interface facilitates better collaboration between developers and content editors.

Each team can work independently without interfering with each other’s tasks, leading to a more efficient and productive workflow.

8. Modern Development Practices

Adopting Kentico MVC encourages the use of development best practices.

The MVC framework supports test-driven development (TDD), continuous integration (CI), and continuous deployment (CD), enabling teams to build, test, and deploy applications faster and more reliably.

By leveraging the benefits of Kentico MVC, businesses can create dynamic, responsive, and high-performance web applications that meet the demands of modern users and provide a robust platform for future growth.

MVC vs Other Architecture

When choosing a development architecture for your web application, it's essential to understand the differences and advantages of each model.

Below, we compare Kentico MVC development with other common architectures, such as traditional Web Forms and Portal Engine.

FeatureKentico MVCTraditional Web FormsPortal Engine
StructureSeparation of concerns (Model-View-Controller)Event-driven programming modelIntegrated content management and presentation
PerformanceHigh, optimized for modern web applicationsModerate, can become slow with complex logicModerate, performance depends on customization
FlexibilityHigh, full control over HTML outputLimited, relies on server controls and postbacksModerate, built-in templates and widgets
ScalabilityExcellent, easy to scale horizontallyLimited, can be challenging to scaleModerate, scaling requires additional configurations
SEO OptimizationExcellent, full control over HTML and URLsLimited, requires additional configurationsModerate, built-in SEO features but less flexibility
Development SpeedFast, modern tools and practicesModerate, slower due to postback modelFast, quick setup with built-in components
User ExperienceHigh, responsive and dynamicModerate, relies on server-side renderingHigh, integrated but less flexible
SecurityHigh, modern security practicesModerate, requires additional measuresModerate, built-in security features but less customizable
Testing and DebuggingEasy, supports unit testing and TDDModerate, harder to test due to tight couplingModerate, integrated but less flexible for custom tests


By understanding these differences, you can make an informed decision on the best architecture for your web application.

The Kentico MVC development model provides significant advantages in terms of flexibility, performance, and scalability, making it an excellent choice for modern web applications.

Kentico MVC Development Process

Developing a robust and scalable application using Kentico MVC involves several detailed steps.

This process ensures that all aspects of the application are meticulously planned, executed, and optimized for performance and user experience.

Below is a comprehensive, step-by-step guide to the Kentico MVC development process.

1. Initial Setup and Prerequisites

Before diving into development, ensure you have all necessary prerequisites in place. These include setting up your development environment, installing essential software, and preparing the Kentico CMS.

Initial Setup:

  • Visual Studio: Install the latest version of Visual Studio with ASP.NET MVC and .NET Core support.
  • Kentico License: Ensure you have a valid Kentico license for the version you are using.
  • SQL Server: Set up an instance of SQL Server for database management.
  • NuGet Packages: Install the necessary Kentico NuGet packages to integrate Kentico API into your MVC application.

2. Setting Up the Kentico Admin Application

The Kentico admin application serves as the content management interface and repository for your website. Setting it up correctly is crucial for managing your site’s content efficiently.

Steps to Setup:

  • Install Kentico: Download the Kentico installation package and run the setup on your server or local development environment.
  • Database Configuration: Configure the SQL Server database by following the installation wizard. Ensure that all necessary tables and schemas are created.
  • Configure Kentico Admin: Complete the setup using the Kentico installation wizard, which includes configuring your site and database.

3. Creating the MVC Application

Creating the MVC application involves setting up the project in Visual Studio, integrating Kentico APIs, and configuring the necessary dependencies.

Steps to Create:

  • Project Creation: Open Visual Studio and create a new ASP.NET MVC project. Select the appropriate framework version, preferably .NET Core for modern applications.
  • Install NuGet Packages: Add the necessary Kentico NuGet packages to your project. These packages integrate Kentico’s API and other functionalities into your MVC application.
Install-Package Kentico.AspNetCore -Version 
  • Configure Dependencies: Set up configurations in Startup.cs and appsettings.json to connect your MVC application with the Kentico API and database.

4. Setting Up Models, Views, and Controllers

This step involves defining the data structures (models), creating the user interface (views), and managing the data flow (controllers).

Models:

  • Define data models using C#. These models represent the data structures you will use throughout your application.
  • Use data annotations and entity framework to manage database interactions.
public class Product

      public int ProductID { get; set; } 
      public string Name { get; set; } 
      public decimal Price { get; set; } 

Views:

  • Create views using Razor syntax to present data to the users. Ensure the views are responsive and optimized for performance.
@model IEnumerable 
<h1>Product List</h1> 
<ul> 
        @foreach (var product in Model) 
         { 
                <li>@product.Name - @product.Price.ToString("C")</li> 
          } 
</ul>

Controllers:

  • Create controllers to handle HTTP requests. Controllers will use the Kentico API to fetch data and pass it to the views.
public class ProductController : Controller 

      private readonly IProductService _productService; 
      public ProductController(IProductService productService) 
      { 
           _productService = productService; 
       } 
      public IActionResult Index() 
     {
           var products = _productService.GetAllProducts(); 
           return View(products); 
      } 

5. Integrating Kentico Features

Integrating Kentico features into your MVC application involves using the Kentico API to manage content, handle authentication, and extend functionality with custom modules.

Content Retrieval:

  • Use Kentico’s Content API to retrieve and manage content from the Kentico CMS.
var articles = Kentico.Content.Read<Article>("Articles") 
                       .WhereEquals("CategoryID", categoryId) 
                       .ToList(); 

Authentication:

  • Implement authentication using Kentico’s membership providers or integrate with external identity providers.
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) 
      .AddCookie(options =>
      { 
            options.LoginPath = "/Account/Login/"; 
       });

Custom Modules:

  • Develop custom modules to extend Kentico’s functionality according to your project’s requirements.

6. Deployment and Configuration

Deploying the Kentico MVC application involves setting up the hosting environment, configuring continuous integration/continuous deployment (CI/CD), and ensuring optimal performance.

Steps to Deploy:

  • Azure or AWS Deployment: Deploy your Kentico MVC application to cloud platforms like Azure or AWS for scalability and reliability. Configure your cloud environment to ensure optimal performance.
az webapp create --resource-group myResourceGroup --plan
myAppServicePlan --name <app_name> --runtime "DOTNETCORE|3.1"
  • CI/CD Pipelines: Set up CI/CD pipelines using tools like Azure DevOps or Jenkins to automate the deployment process. Ensure that your pipelines include build, test, and deployment stages to maintain code quality and reliability.

Also Read: Kentico Deployment on Azure

7. Performance Optimization

Optimizing performance involves implementing caching strategies, minifying resources, and optimizing database queries to ensure fast load times and a smooth user experience.

Optimization Techniques:

  • Caching:Implement caching strategies to reduce load times and improve user experience. Use in-memory caching or distributed caching based on your requirements.
services.AddDistributedMemoryCache();
  • Minification and Bundling: Minify CSS and JavaScript files to reduce the size and improve load times.
  • Database Optimization: Optimize database queries and use indexing to enhance data retrieval speeds.

8. Testing and Troubleshooting

Testing and troubleshooting are crucial to ensure the application functions correctly and is free of bugs. This involves unit testing, integration testing, and debugging.

Testing Techniques:

  • Unit Testing: Write unit tests for your models, controllers, and services to ensure they work as expected.
[TestMethod] 
public void TestGetAllProducts()

         var mockService = new Mock<IProductService>(); 
         mockService.Setup(service =>
         service.GetAllProducts()).Returns(GetTestProducts()); 
         var controller = new ProductController(mockService.Object);
         var result = controller.Index() as ViewResult; 
         var products = result.Model as List<Product>; 
         Assert.AreEqual(3, products.Count); 
  • Integration Testing: Test the integration between different parts of your application, including the Kentico API and external services.
  • Debugging: Use Visual Studio’s debugging tools to identify and fix issues during development. Log errors and performance metrics to troubleshoot and optimize your application.

By following this detailed Kentico MVC development process, you can ensure a well-structured, high-performance, and scalable web application that meets your business requirements.

MVC Development Best Practices

Adhering to best practices in Kentico MVC development ensures that your application is robust, scalable, and maintainable.

These development best practices encompass various aspects of the development process, from coding standards to performance optimization.

1. Follow Clean Code Principles

Clean code principles emphasize writing code that is easy to understand, maintain, and extend. Key aspects include:

  • Readable Code: Use meaningful variable and method names, and add comments where necessary.
  • Consistent Formatting: Stick to a consistent coding style and structure throughout the project.
  • Avoid Magic Numbers: Replace hardcoded values with constants or configuration settings.

Example:

public class ProductService 

        private readonly IProductRepository _productRepository; 
        public ProductService(IProductRepository productRepository) 
       { 
               _productRepository = productRepository; 
        } 
        public IEnumerable GetAllProducts() 
       { 
              return _productRepository.GetAll(); 
        } 

2. Implement Proper Error Handling

Robust error handling mechanisms help in diagnosing and fixing issues quickly, improving the reliability of the application.

  • Use Try-Catch Blocks: Handle exceptions gracefully to prevent application crashes.
  • Custom Error Pages: Implement user-friendly error pages to improve the user experience during errors.
  • Logging: Use logging frameworks like Serilog or NLog to log errors and important events.

Example:

try 

       var product = _productService.GetProductById(productId); 

 catch (Exception ex)
 {
       _logger.LogError(ex, "Error retrieving product"); 
       return View("Error"); 
  } 

3. Optimize Performance

Performance optimization is crucial for ensuring a smooth user experience and efficient resource utilization.

  • Caching: Implement caching strategies to reduce load times. Use distributed caching for large-scale applications.
  • Miify Resources:Minify CSS, JavaScript, and HTML files to reduce load times.
  • Optimize Database Queries: Use indexing, avoid unnecessary joins, and write efficient SQL queries.

Example:

services.AddMemoryCache();

4. Adopt Modular Architecture

A modular architecture divides the application into smaller, independent modules, making it easier to manage and extend.

  • Use Dependency Injection (DI):  Promote loose coupling by injecting dependencies rather than hardcoding them.
  • Create Reusable Components: Develop components that can be reused across different parts of the application.

Example:

services.AddTransient<IProductService, ProductService>();

5. Security Best Practices

Ensuring the security of your application is paramount. Implement the following best practices:

  • Use HTTPS: Encrypt data transmission by using HTTPS.
  • Secure Authentication: Implement secure authentication mechanisms, such as OAuth or OpenID Connect.
  • Input Validation:  Validate all user inputs to prevent SQL injection and other attacks.

Example:

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options =>
 { 
      options.LoginPath = "/Account/Login/"; 
  }); 

6. Version Control

Using version control systems (VCS) like Git helps in tracking changes, collaborating with team members, and maintaining code history.

  • Branching Strategy:  Implement a branching strategy (e.g., GitFlow) to manage development, feature, and release branches.
  • Commit Often: Make regular commits with clear messages to track progress and changes.

Example:

git commit -m "Implement product service"

7. Automated Testing

Automated testing ensures that your application works as expected and helps in identifying issues early.

  • Unit Testing:  Write unit tests for individual components.
  • Integration Testing: Test the interaction between different components.
  • Continuous Integration (CI): Use CI tools like Jenkins or Azure DevOps to automate testing and deployment.

Example:

[TestMethod] 
public void TestGetAllProducts()

     var mockService = new Mock<IProductService>(); 
     mockService.Setup(service =>     service.GetAllProducts()).Returns(GetTestProducts());
      var controller = new ProductController(mockService.Object); 
      var result = controller.Index() as ViewResult; 
      var products = result.Model as List; 
      Assert.AreEqual(3, products.Count); 
 } 

By following these Kentico MVC development best practices, you can ensure that your application is secure, maintainable, and performs optimally. These practices help in delivering a high-quality product that meets user expectations and business requirements.

Possible Challenges (& Their Solutions)

Developing a Kentico MVC application can present several challenges. Understanding these potential obstacles and their solutions can help ensure a smoother development process and a more robust application.

1. Complex Setup and Configuration

Challenge: Setting up and configuring the Kentico MVC application alongside the Kentico admin application can be complex, especially for beginners.

Solution:

  • Step-by-Step Guides: Follow detailed tutorials and documentation provided by Kentico.
  • Automation Tools: Use tools like Azure DevOps for automated setup and deployment.
  • Community Support: Engage with the Kentico community through forums and user groups to seek advice and solutions from experienced developers.

2. Integration Issues

Challenge: Integrating Kentico with external systems and APIs can be challenging due to differences in data formats, authentication methods, and API limitations.

Solution:

  • API Documentation: Thoroughly review the API documentation for both Kentico and the external systems.
  • Middleware: Implement middleware to handle data transformation and authentication between systems.
  • Testing: Conduct extensive integration testing to ensure seamless communication between systems.

3. Performance Optimization

Challenge: Ensuring optimal performance for both the front-end MVC application and the back-end Kentico admin application can be difficult.

Solution:

  • Caching: Implement caching strategies using Kentico's built-in caching mechanisms and external solutions like Redis.
  • Minification: Minify CSS, JavaScript, and HTML files to reduce load times.
  • Database Optimization: Optimize database queries and use indexing to enhance data retrieval speeds.
  • Load Testing: Perform load testing to identify bottlenecks and optimize resource allocation.

4. Security Concerns

Challenge: Ensuring the security of the application, especially when handling sensitive user data, is a critical concern.

Solution:

  • HTTPS: Use HTTPS to encrypt data transmission.
  • Authentication and Authorization: Implement secure authentication mechanisms like OAuth and regularly update security protocols.
  • Input Validation: Validate all user inputs to prevent SQL injection and other common attacks.
  • Regular Audits: Conduct regular security audits to identify and mitigate potential vulnerabilities.

5. Scalability

Challenge: As the application grows, ensuring it can handle increased traffic and data load can be challenging.

Solution:

  • Cloud Services: Deploy the application on scalable cloud platforms like Azure or AWS.
  • Horizontal Scaling: Implement horizontal scaling to add more instances as needed.
  • Monitoring: Use monitoring tools to track performance metrics and scale resources proactively.

6. Content Synchronization

Challenge: Synchronizing content between the Kentico admin application and the MVC application, especially in a web farm environment, can be complex.

Solution:

  • Web Farm Configuration: Configure the web farm settings in Kentico to ensure consistent synchronization.
  • Content Staging: Use content staging to manage and synchronize content between different environments.
  • Automated Sync: Implement automated synchronization scripts to ensure data consistency.

7. Maintenance and Updates

Challenge: Regularly updating the application and maintaining the codebase can be resource-intensive.

Solution:

  • CI/CD Pipelines: Set up continuous integration and continuous deployment (CI/CD) pipelines to automate the deployment process.
  • Version Control: Use version control systems like Git to manage changes and updates efficiently.
  • Automated Testing: Implement automated testing to quickly identify and fix issues during updates.

8. Development Skills and Knowledge

Challenge: The steep learning curve associated with Kentico MVC development can be daunting for new developers.

Solution:

  • Training Programs: Participate in Kentico training programs and certification courses.
  • Documentation: Utilize comprehensive Kentico documentation and tutorials.
  • Mentorship: Seek mentorship from experienced Kentico developers to accelerate learning.

By anticipating these challenges and applying the appropriate solutions, you can navigate the complexities of Kentico MVC development effectively, ensuring a successful and high-performing application.

DotStark: Your Partner in Kentico MVC Development

When it comes to implementing a robust and scalable Kentico MVC solution, partnering with a seasoned Kentico development company like DotStark can make all the difference.

Our extensive experience and dedicated team of experts ensure that your Kentico MVC projects are executed flawlessly, leveraging the full potential of this powerful platform.

Choosing DotStark as your ASP.NET development company ensures that you have a reliable partner dedicated to delivering exceptional results.

Whether you’re looking to develop a new application or optimize an existing one, our team is here to help you achieve your digital transformation goals.


Conclusion

Kentico MVC development offers a modern, scalable, and flexible approach to building robust web applications. By understanding the MVC architecture, leveraging the benefits of Kentico MVC, following best practices, and navigating potential challenges, you can create high-performance applications that meet your business needs.


Frequently Asked Questions

What is Kentico MVC development?

Kentico MVC development involves using the Model-View-Controller (MVC) pattern with Kentico CMS to create scalable, maintainable, and high-performance web applications.

How does the live site work in Kentico MVC?

The live site in Kentico MVC is presented by a standard ASP.NET MVC application, integrated with Kentico API using NuGet packages for seamless content management.

How does the backend work in Kentico MVC?

The backend, or Kentico admin application, serves as the content repository and provides the administration interface built on ASP.NET Web Forms, used for content editing and management.

What are the key benefits of using Kentico MVC?

Benefits include enhanced performance, flexibility, scalability, improved security, and better collaboration between developers and content editors.

What are the common challenges in Kentico MVC development?

Common challenges include complex setup and configuration, integration issues, performance optimization, security concerns, and ensuring scalability.

How can these challenges be addressed?

Solutions include following detailed setup guides, implementing caching and minification, using secure authentication methods, deploying on scalable cloud platforms, and engaging in community support.

How do I integrate Kentico features into my MVC application?

Integration involves using Kentico API for content retrieval, implementing authentication mechanisms, and developing custom modules as needed.

What are the best practices for Kentico MVC development?

Best practices include following clean code principles, implementing proper error handling, optimizing performance, adopting modular architecture, ensuring security, using version control, and automated testing.

How can I ensure the security of my Kentico MVC application?

Ensure security by using HTTPS, implementing secure authentication and authorization methods, validating all user inputs, and conducting regular security audits.

Sunil

About Author

Sunil Sharma is the CEO of DotStark and an expert in Kentico development, leading the company with a vision for digital excellence. With extensive knowledge in ASP.NET, SharePoint, and Umbraco, Sunil is passionate about innovative web solutions and digital transformation. He regularly shares insights on cutting-edge technologies and best practices in web development.

You may Also Like

card__image
Kentico Kentico Development Best Practices

Implementing best practices in your Kentico development can significantly enhance the effectiveness and efficiency of your digital experience platform...

card__image
Kentico Kentico Development Models

Selecting the right Kentico development model is essential for ensuring the success of your digital projects. Kentico offers several development...

card__image
Kentico Kentico Kontent vs Xperience: Which is Right for Your Business?

A Content Management System (CMS) is a platform that allows you to create, manage, and modify digital content without needing extensive...

Sign Up for our Newsletter Here!

Keep informed of our latest updates by subscribing to our newsletter.
Get access to a world of exclusive industry insights, content, and special offers.

Contact Us

Need An Expert Consultation? Drop us some details here!

Engage with Us to Discuss the Project Requirements

Get our guidence by following these 3 simple steps-

  • Create a Proposal

    Request to create a concise plan defining project details, approaches, and cost estimation.
  • Requirement Discussion

    Share your unique ideas, objectives, and project needs with our consultants and experts.
  • Initiate the Project

    Initiate the execution of all the proposed activities to make the project a big success!

Get a free consultation of

30 minutes with us

neha

Neha Sharma

Business Analyst

mobile +91 7792846419 Neha@dotstark.com

Share your project details with us, and we will provide you with a detailed proposal shortly.

  • INDIA
  • Head Office

1st Floor, Opp. Metro Pillar No. 97,
New Sanganer Road,
Jaipur - 302019 Rajasthan, India.

Contact: +91 9680599916

support@dotstark.com

USA

3101 N. Central Ave,
STE 183#3541, Phoenix, Arizona

Contact: +1 (602) 403-9958

CANADA

26 Finch Crescent, London ON
N6E 2E5, Canada

Contact: +1 (647) 862-2190

MALAYSIA

Plaza 33, No.1, Jalan Kemajuan,
Seksyen 13, 46200,
Petaling Jaya, Selangor, Malaysia

Contact: +60 17-656 4127