Tools of Trade: Find the Right Tools for Any Job | Ahex https://ahex.co/category/tools-of-trade/ Ahex Technologies focuses on offshore outsourcing, by providing innovative and quality services and value creation for our clients. Thu, 19 Oct 2023 06:20:41 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 202019870 What you should know to build a successful SaaS business? https://ahex.co/what-you-should-know-to-build-a-successful-saas-business/?utm_source=rss&utm_medium=rss&utm_campaign=what-you-should-know-to-build-a-successful-saas-business Wed, 13 Jul 2022 07:40:43 +0000 https://ahex.wpenginepowered.com/?p=7460 Do you want to step into the fast-growing technology of a SaaS Application based business model then this article is for you? In this article, you will know why it is very beneficial for your business and why you should implement it. What is Software as a Service(SaaS): SaaS is basically a cloud hosting application...

The post What you should know to build a successful SaaS business? appeared first on Welcome to Ahex Technologies.

]]>
Do you want to step into the fast-growing technology of a SaaS Application based business model then this article is for you? In this article, you will know why it is very beneficial for your business and why you should implement it.

What is Software as a Service(SaaS):

SaaS is basically a cloud hosting application that works for the user through a web browser, unlike software that used to be physically installed in the hardware to be used.

Even the service and maintenance for the servers are done online letting the user free from the burden of maintenance.

SaaS products are not sold to the user but are instead rented on a subscription basis, this means to keep on using the software you should keep on subscribing to the plans.

SaaS programs are designed to work on any device, whether be it a mobile or a desktop, the user can access the application anytime anywhere.

Why SaaS applications are so popular:

Due to their affordability and easy user interface, SaaS business are touching new heights every year. The estimated amount spent in 2021 by companies on SaaS applications is 142.5 US billion dollars and is estimated to grow to 197.6 billion in 2023. SaaS applications based on the cloud are also disrupting the supply chain industry and it is estimated to generate 11 billion dollars by 2023. Adobe has become the world’s largest SaaS company by generating 215.6 billion dollars in the year 2022. The US is the leading country in SaaS applications with 16,000 companies based on the SaaS platforms which generate 333,9 billion dollars every year.

Benefits of SaaS application:

  • Simple and straightforward: SaaS applications are totally built on the cloud which means that there is no physical resource used, which means there is no need for physical burden. This leads to launching the app more easily than the traditional installed app.
  • Lower cost: SaaS applications pocket friendly to develop. The software and infrastructure development costs are cut down if you choose a SaaS application over a traditional app. Moreover, if you want to upgrade your app by adding new features, this could be done easily by integrating the features through tools and technologies.
  • Flexible and Scalable: The app should be flexible to manage the ever-changing demands of the customers. SaaS applications are very flexible and easy to upgrade with new features with the help of third-party tools.

SaaS applications come in subscription format which means you can change your subscription plan as your business scale upwards.

  • Secure: High level of security and confidentiality is provided on SaaS base app to the customer data. To remove all the security concerns SaaS applications use AWS-like cloud-based services. Data from the users is stored in isolated servers and an id password is required by users to access their accounts. Data can be stored in common servers or private servers according to the company’s demands.
  • Frequent updates: it is easy to provide updates for SaaS applications as they are stored on cloud servers. In the case of traditional software updates the user should give up some data to update the software, but such is not the case with the SaaS app 
  • Anytime, anywhere, any device access: this is the main reason why SaaS applications are so popular. Since SaaS apps are hosted in the cloud and accessible through any browser, it is free from usage on any specific device. Users can access the app on any device anywhere and at any time they like.

Different SaaS development solutions:

Depending on the usage and objectives there are many SaaS applications in the market. Here are some of them.

CRM SaaS apps: to effectively keep a track of the customer’s behaviors, companies use Customer relationship Management products to make informed decisions. Salesforce is the best example of a SaaS CRM application.

Project management software: developing project management software from the scratch is a very expensive process. Thus many companies, to keep a track of their applications uses SaaS-based apps in project management.

Fintech SaaS apps: SaaS applications are also used to automate billing processes. Stripes are the best example of fintech SaaS apps that come with security and various payment options.

EPR applications: soon web-based applications are going to replace traditional apps. Business analysts and dashboards support SAP SaaS platforms which allow businesses to have better insights into their processes.

Choosing Ahex Technologies to develop your SaaS: Ahex has been in the SaaS development industry for quite a long time and by teaming up with us you are avoiding all the hassle of doing things yourself. We handle all the software development steps so that you can come up with outside-the-box ideas to implement. Whatever features you want to have in your app, Ahex technologies can help you make it happen.

The post What you should know to build a successful SaaS business? appeared first on Welcome to Ahex Technologies.

]]>
7460
Developing a QR code Management system: https://ahex.co/developing-a-qr-code-management-system/?utm_source=rss&utm_medium=rss&utm_campaign=developing-a-qr-code-management-system Tue, 14 Jun 2022 00:51:18 +0000 https://ahex.wpenginepowered.com/?p=7421 Are you Looking to developing a QR code Managemnet System? As the world is advancing more and more customers are researching and surfing online to find the things they like and want and are ordering and purchasing them online via smartphones, tablets, and laptops. Due to this, there is a need for businesses to capitalize...

The post Developing a QR code Management system: appeared first on Welcome to Ahex Technologies.

]]>
Are you Looking to developing a QR code Managemnet System? As the world is advancing more and more customers are researching and surfing online to find the things they like and want and are ordering and purchasing them online via smartphones, tablets, and laptops. Due to this, there is a need for businesses to capitalize on digital platforms.

Business Realisation:

Businesses have now realized that customers are more comfortable with getting the package delivered to them rather than going and picking up the package themselves. This has led marketing agencies to provide information about the product via QR code which can be scanned and read by the customer.

We already know how important bar codes are for helping businesses access and keep track of their inventory. In fact, even customers benefit from the bar codes. We don’t have to wait for the cashier to take out a slip and check how much an item costs. Now you can directly scan the barcode and get all the information needed.

This was all about bar codes but QR codes have taken the story to a whole new level.

Benefits of QR code management system:

Many people think that QR code is a marketing tool. Though there is some truth to this myth, QR codes were originally invented for inventory management. The first time QR code was used was in 1990 when Toyota and Denson Wave came up with the idea of a Quick response code system as an alternative to their barcode system.

The QR code can store huge amounts of data and the data can be read in a very easy manner. The original purpose of QR codes was to track machines and their parts in manufacturing.

Thanks to today’s technology anyone can read a QR code on their mobile phones and tablets. There are some apps that can read a QR code. Thus inventory management and keeping track of goods have become easier. Complex and important tasks tend to become easy with the involvement of a QR code management system.

We all know that time is money and time flies. If a product is not found then time is taken to find it, this becomes a tedious task, and money is lost in this process. However, with QR codes you can track where your inventory is and save money on bar code scanners and the time required to fetch the product.

QR codes make inventories be tracked easily. It doesn’t matter where the inventory is located. Also, QR Codes make it easier to record transactions, run applicable reports, and even check for the availability of inventory.

By still using outdated stock management systems and methods it will cost you more money and your valuable time as well. Such unnecessary costs can be avoided by using a QR code management system. A QR Code Management System can eliminate risks such as the stockpiling of outdated materials and products, incorrect documentation of parts, missed documentation errors, inadequate stock, and so on.

All these risks can lead to reduced productivity which in turn can cost the company significantly and can tarnish its reputation of the company. Customer satisfaction ratings may soon start to tank, which will force you to start from scratch or even shut shop. But QR Code Management can minimize all these risks.
Check our services are Mean Stack Development | Mern Stack Development

There’s more to the QR code management system:

Inventory management is just one aspect of the QR code management system. There are other processes that help improve the operations. QR codes can be designed to work with specific payment provider applications as well.

They can also be designed to log into portals, and websites also. QR codes contain codes to the entire website as well. Scanning them can open a website and a specific page on the website as well.

When QR codes are placed within key locations inside a factory or business facility, they can help employees access key information regarding safety and so on. The applications of QR Codes are many and highly effective.

So, are you ready to implement a QR Code Management System that exploits the benefits of QR codes to the fullest? If you are, don’t look further than Ahex technologies.

Ahex Technologies has helped businesses like restaurants and retailers are using QR codes to give customers contactless access to important information like menus and service options.

We are here to help you out.

Connect with us, The team at ahex technologies knows leveraging QR codes for your business and developed many customized applications for Restaurant Menus, Sales Leads Capturing, Quick Access To Healthcare Information, etc.

The post Developing a QR code Management system: appeared first on Welcome to Ahex Technologies.

]]>
7421
Tools that are helping employees to work from home in this COVID pandemic https://ahex.co/tools-that-are-helping-employees-to-work-from-home-in-pandemic/?utm_source=rss&utm_medium=rss&utm_campaign=tools-that-are-helping-employees-to-work-from-home-in-pandemic Tue, 01 Jun 2021 13:57:24 +0000 https://ahex.wpenginepowered.com/?p=7202 We all aware of the fact that COVID has changed everyone’s lifestyle especially the working style of the organizations. To engage in our daily lives, working in an office was mandatory but after COVID, there are a lot of technologies that made life easy for employees by adopting to work from home. Mentioned a few...

The post Tools that are helping employees to work from home in this COVID pandemic appeared first on Welcome to Ahex Technologies.

]]>
We all aware of the fact that COVID has changed everyone’s lifestyle especially the working style of the organizations. To engage in our daily lives, working in an office was mandatory but after COVID, there are a lot of technologies that made life easy for employees by adopting to work from home. Mentioned a few of the tools below which is helping employees to cope up with the work.

E-mail:

E-mail is an important strategy to track the employee’s work and to reach out to the customer in a simpler way. Project-related updates/talks, schedules of meeting everything will be communicated via email. It is being so helpful after and before pandemic too. The most effective communication tool among all others is E-mail. It has proven its efficiency and importance of using pre and post-COVID.

Social Media:

We know that this Pandemic made it difficult to reach out a customer, but business people started using social media as also a tool to be in touch with the customers. By continuously posting about the company, designs, targets, products – employees are able to reach out to the customers even closer. It also helps workers to adapt to customer’s changing needs. 

Dropbox:

To share large files via email is quite difficult since it has MB restrictions and with Dropbox, we can share large files easily and workspace which offers an attractive feature to manage remote employees. Employees are able to sync and share the documents.

Video Conferencing Apps:

Zoom and Teams are the major Video conferencing applications that is been used by employees to get in touch with the management and share feedback among team members. Employees can share their screen to give the presentation/demo with the use of these video conferencing apps. It made life so much easier and via video calls, it gives the feel of an office environment.

Hub staff:

It helps to keep track of employee’s activity during the tasks that are assigned to them. It has online timesheets, schedules and even screen recording. Employers can even track their GPS, invoicing project budgeting, etc.

Go To Meeting:

It is one of the renowned platforms for audiovisual meetings where team members can share their desktops and do a presentation. It helps to meet the clients often using their computer, tablet or even smartphone. In this changing work culture, virtual meetings have become one of the important things to normalize the work-life balance of employees

AnyDesk:

It is platform-independent remote access that can be used to access personal computers from other devices. This remote connection is faster and effective than any other remote access tool. If any other IT problem occurs, this provides the solution with ease, since another person can access the desktop and solve the issue in a minute.

Comcast:

It is a free Xfinity Wifi that provides hotspots that will be available including non-Xfinity subscribers.

HRIS:

At work from home, meeting HR and dealing with issues become a tedious process than the usual one. These HRIS mobile app capabilities are enormous which provides employee self-service that makes a way to communicate with HR with their needs and answers

Shared calendars:

It made employees focus on their hours of working on projects, meetings and other things via a shared calendar. It’s a trackable tool where management can easily know where their employees are at, in the project.

Screen recording tools:

It is used to take just a quick screenshot or recording screen of your own and share it with the team. Computer built-in tools might be complicated and it will mess it up sometimes. So using apps like zappy makes the work easier and efficient. Anyone can use this tool and there is no restriction on it.

To-do list apps:

Most people use their message inbox to list their daily works or spreadsheet to do it. But there are many To-do list apps available that are usable according to the corporate. Instead of using pen and paper, employees can prefer using this app.

Note-taking apps:

People use sticky notes to take notes or list their daily works which may consume a total space of the desktop and that looks so clumsy and unprofessional way to do it.

Instead, there are apps just to take note of which saves data and ease of access. This helps employees to stay organized which comes with a web-clipping feature. Evernote and Microsoft’s OneNote are the most widely used tool for note-taking.

Focus Apps:

We struggle most of the time with the temptation in checking the status of projects, emails, meetings and other works constantly. Some apps can temporarily block the sites that we specifically assigned to and limit the amount of time that we can spend on our projects that we want to.It is being so helpful mainly in COVID times. Since everyone is working from home there may be a lot of distractions. And this app helps to stay focused on one thing. It also provides a break time which can be used by an employee to concentrate on other things and finish it and return to work.

Our Services are Devops Development | Ui/Ux Design

Online backup:

The fear of losing important files due to a computer crash or by accident cannot be stated enough. At these times Online backup plays a crucial role in restoring the data. There are apps like Backblaze which is enabled to back up the passwords and files we had. It is the most efficient app to use in recent days.

Conclusion:

No matter how bad the situation turns, there will be always a way to get back to what we had. COVID destroyed many people, changed the normal lifestyles of people but it also helped us to make life easy via technology. And now we are able to connect with people closer than before. Thanks to technology.

The post Tools that are helping employees to work from home in this COVID pandemic appeared first on Welcome to Ahex Technologies.

]]>
7202
Rise of Artificial Intelligence https://ahex.co/rise-of-artificial-intelligence/?utm_source=rss&utm_medium=rss&utm_campaign=rise-of-artificial-intelligence Wed, 28 Nov 2018 01:48:22 +0000 https://ahex.wpenginepowered.com/?p=3358 Rise of Artificial Intelligence (AI) and how it’s making communication 3.0 more seamless in Dynamic Recruitment Industry Artificial Intelligence, Machine learning, Predictive Analytics which were coined acronyms in late 90’s and early 2000’s are a thing of present and future. Technology has grown leaps and bounds and we are left with no imperative but from...

The post Rise of Artificial Intelligence appeared first on Welcome to Ahex Technologies.

]]>
Rise of Artificial Intelligence (AI) and how it’s making communication 3.0 more seamless in Dynamic Recruitment Industry

Artificial Intelligence, Machine learning, Predictive Analytics which were coined acronyms in late 90’s and early 2000’s are a thing of present and future. Technology has grown leaps and bounds and we are left with no imperative but from an organization viewpoint to embrace the platforms as per our contextual usage.

On this front the HR industry where I have invested close to around 25 years of my valuable time in reputed organizations has migrated from the conventional reference based model to an intuitive based dynamic communicative model.

With Digitalization being imperative many tech titans are losing out on legacy migration aspect and issues. Here is where reskilling becomes the need of the hour as it is all about getting out of the comfort zone where conventional business units have well established themselves in.

What was HR on Cloud in early 2010 (RaaS) is now being mapped with Artificial Intelligence Technology in present IoT era. It is bridging communication gap between firms and recruits. Yes there are micro backlashes that AI and technology will replace human connect in workforce; however there is also widespread optimism and acceptance when it comes to machine learning and its implementation from HR thought leaders.

Taking a cue, when we try to map AI usage and its adaptability in the HR industry we observe that it’s not about finding the right talent for the right job. It is about bridging the communication gap between potential recruits and a company through the hiring/recruitment process. It’s all about being connected in present context and yes breaking the ice and making the candidate feel at ease.

Yes with usage of any software comes with it its own share of challenges and mitigations. But when we outweigh the pros and cons we have to go with the latter eventually.

Today with the help of AI a doctor can diagnose what’s wrong with his patient remotely, a teacher can personalize his learning pedagogy, and a recruiter can find best talent for a specific job role. So we see evolution happening daily. We need to learn to upscale ourselves when it comes to the connect factor in technology.

Yes Talent Acquisition has not been able to evolve much through history. It has remained what we call as a “Closed Glass Door” administrative function. But external disruptor from social transparency to competition and machine learning are making it crucial for the industry to evolve.

We are witnessing what we call as a paradigm shift from a reactive industry where job openings were via internal job postings or on reference based models to a proactive model where AI can smart size the requirements after analyzing gaps within organizations departmentally and suggests whether it is better to hire internally or externally.

This is where AI creates a new infusion for the HR vertical leaders. If a company decides to go external AI platform will auto-create a job description, source talent and also figure out who amongst the potential recruits are the most suitable for the role, and even initiate conversational communication with them on a machine based platform.

It definitely has an upper hand from a brand building and crisis communication per say as “A lot of candidates complain that they don’t get to hear back. There’s this black hole plaguing this sector that it’s not personalized; there’s no experience in that area. Your AI could pro-actively reach out and say let’s schedule a time to re-connect,” and that’s where being intuitive in communication is all about which AI definitely has the upper hand in and we welcome industries who have embraced this model.

Take the case of IBM Watson, its AI platform for business, is capable of initiating communication with potential recruits so that companies don’t lose out on best fits and can even schedule a meeting for them with hiring managers and can take recruitment 3.0 successfully to the next level ahead.

We will definitely see a context where increased adoption of AI and machine learning will also improve skilling and re-skilling scenarios. That’s where Ahex Technologies  a pioneer in re-skilling across various sectors with more than a decade of expertise comes into picture as people are street-smart to learn skills without any significant external pressure within a very short span of time.

The good news, therefore, is even though there is a lot of disruption in technology, from a skill perspective; the adaptation and re-skilling is going to get easier and we are looking forward to partner who welcome us in this exciting journey ahead.

The post Rise of Artificial Intelligence appeared first on Welcome to Ahex Technologies.

]]>
3358
Digital Transformation https://ahex.co/digital-transformation/?utm_source=rss&utm_medium=rss&utm_campaign=digital-transformation Thu, 15 Nov 2018 17:26:27 +0000 https://ahex.wpenginepowered.com/?p=3182 1. DT definition continues to bedevil corporations. serious differences here. 2. Since CIO is increasingly getting involved in DT, the definition is getting even more narrower. not broader as was initially expected. 3. Digital related Technologies are getting  easier to comprehend for most corporations. So, is the improved delivery capabilities of most vendors. 4. Many...

The post Digital Transformation appeared first on Welcome to Ahex Technologies.

]]>
1. DT definition continues to bedevil corporations. serious differences here.

2. Since CIO is increasingly getting involved in DT, the definition is getting even more narrower. not broader as was initially expected.

3. Digital related Technologies are getting  easier to comprehend for most corporations. So, is the improved delivery capabilities of most vendors.

4. Many startups are offering serious value propositions can cannot be ignored.

5. Ecosystem large IT players are playing a better curation role for selecting startups for PoCs and subsequent contracting. This role (i think it was pioneered by Accenture; pls fact check me on  it) of Ecosystem player is truly useful in contracting startups for corporations, who do not have mandates to go beyond the big IT players.

6. DT has created tremendous excitement, but has equal number of sceptics. Especially, in the buyer / user  organisations.

7. User industry thinking is very different from IT industry thought process. IT industry is ignoring this aspect to its own detriment.

8. User industry senior leadership is enthusiastic about the tech industry offerings, but very sceptical about their business understanding – both  at functional level and at financial benefits levels.

9. IT Industry has great talent in all levels. But, has a tendency to over-sell, especially when more ground work is required. This over-selling nearly always comes back to haunt the CIO and the CEO. Be aware of that. Atleast.

10. There is serious need of transformation in most organisations. Boards and CEOs are aware of it. They want to use this tech opportunity to initiate wide ranging transformations. BUT

11. BUT. the leadership from user end and provider end is either over selling or under selling. clearly leaving the the boards highly unimpressed.

12. Big opportunities in working out clear methodologies of actual business transformation and measurable financial returns to mid to large corporations. No serious takers yet.

The post Digital Transformation appeared first on Welcome to Ahex Technologies.

]]>
3182
Rise of Digital Platforms! https://ahex.co/rise-of-digital-platforms/?utm_source=rss&utm_medium=rss&utm_campaign=rise-of-digital-platforms Wed, 04 Jul 2018 10:44:53 +0000 http://ahex.wpenginepowered.com/?p=2753 Portals have evolved from simple systems of record to systems of engagement, reaching different target groups across various delivery channels. Applications range from public facing websites to intranets, extranets and e-commerce to self-service and large integration solutions.This evolution started with the birth of the Internet some 20 years ago and continues even now. Today, portals...

The post Rise of Digital Platforms! appeared first on Welcome to Ahex Technologies.

]]>
Portals have evolved from simple systems of record to systems of engagement, reaching different target groups across various delivery channels. Applications range from public facing websites to intranets, extranets and e-commerce to self-service and large integration solutions.
This evolution started with the birth of the Internet some 20 years ago and continues even now. Today, portals act as digital platforms and audience-targeted systems of connection that place customers, employees and partners at the heart of an organization’s business.
The Rise of Platforms
We are in the midst of a long-term and profound shift in the way companies interact with their clients. This shift is being driven by the same megatrends that are transforming information technology: cloud, mobility, social and big data.

The post Rise of Digital Platforms! appeared first on Welcome to Ahex Technologies.

]]>
2753
Jenkins – An Automated Server https://ahex.co/jenkins-an-automated-server/?utm_source=rss&utm_medium=rss&utm_campaign=jenkins-an-automated-server Thu, 04 Jan 2018 07:44:36 +0000 http://ahex.wpenginepowered.com/?p=1441 Jenkins is the leading open-source continuous integration tool developed by Hudson lab.It is cross-platform and can be used on Windows, Linux, Mac OS and Solaris environments. It is written in Java. Important Features of Jenkins Installation and Setup Of Jenkins (In Ubuntu OS) Step 1 -Installing Jenkins The version of Jenkins included with the default Ubuntu...

The post Jenkins – An Automated Server appeared first on Welcome to Ahex Technologies.

]]>
Jenkins is the leading open-source continuous integration tool developed by Hudson lab.It is cross-platform and can be used on Windows, Linux, Mac OS and Solaris environments. It is written in Java.

Important Features of Jenkins

  • Change Support: It generates the list of all changes done in repositories like SVN,GIT.
  • Permanent links: Jenkins provides direct links to the latest build or failed build that can be used for easy communication
  • Installation: It is easy to install either using direct installation file (exe) or war file to deploy using application server and easy configuration.
  • Email Integration: Jenkins can be configured to email the content of the status of the build.
  • Multiple VMs: It can be configured to distribute the build on multiple machines.
  • Project build: Jenkins documents the details of jar, version of jar and mapping of build and jar numbers.
  • Plugins: 3rd party plugin can be configured in it to use features and additional functionality.

Installation and Setup Of Jenkins (In Ubuntu OS)

Step 1 -Installing Jenkins

The version of Jenkins included with the default Ubuntu packages is often behind the latest available version from the project itself. In order to take advantage of the latest fixes and features, we’ll use the project-maintained packages to install Jenkins.

First, we’ll add the repository key to the system.

$ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

When the key is added, the system will return OK. Next, we’ll append the Debian package repository address to the server’s sources.list.

$ echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

When both of these are in place, we’ll run update so that apt -get will use the new repository:

$ sudo apt-get update
 Finally, we'll install Jnekins and its dependencies, including Java:
$ sudo apt-get install jenkins

Now that Jenkins and its dependencies are in place, we’ll start the Jenkins server.

Step 2 -Starting Jenkins

Using systemctl we’ll start Jenkins:

$ sudo systemctl start jenkins

Since systemctl doesn’t display output, we’ll use its status command to verify that it started successfully

$ sudo systemctl status jenkins

If everything is OK, you should receive an output similar to the following

jenkins.service - LSB: Start Jenkins at boot tim
Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
  Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
    Docs: man:systemd-sysv-generator(8)  

Jenkins by default is listening on port 8080 , so open your favourite web browser and navigate it to http://IP_ADDRESS:8080 to access it.The first screen will prompt you to enter and administrative password. For security reasons Jenkins creates this password and stores it to the log file i.e ‘var/lib/jenkins/secrets/initialAdminPassword’ file.

In the terminal window, we’ll use the cat command to display the password:

Run the following command to show the password
 
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

We’ll copy the 32-character alphanumeric password from the terminal and paste it into the “Administrator password” field, then click “Continue”. The next screen presents the option of installing suggested plugins or selecting specific plugins.

We’ll click the “Install suggested plugins” option, which will immediately begin the installation process:
When the installation is complete, we’ll be prompted to set up the first administrative user. It’s

possible to skip this step and continue as admin using the initial password we used above, but we’ll take a moment to create the user.

Once the first admin user is in place, you should see a “It is ready!” confirmation screen.

Thats it…..done!!

Check our other services are PHP Development | Mobile Development | Mobile Development

 

 

The post Jenkins – An Automated Server appeared first on Welcome to Ahex Technologies.

]]>
1441
Know about Custom Directive https://ahex.co/know-about-custom-directive/?utm_source=rss&utm_medium=rss&utm_campaign=know-about-custom-directive Thu, 30 Nov 2017 10:34:46 +0000 http://ahex.wpenginepowered.com/?p=1303 While working on one of the applications being developed on the AngularJS framework, we came across a situation where we had to add a reusable and independent functionality on a DOM element. This could easily be done using jQuery. However, since the app was being developed using AngularJS, the best practice was to stick to...

The post Know about Custom Directive appeared first on Welcome to Ahex Technologies.

]]>
While working on one of the applications being developed on the AngularJS framework, we came across a situation where we had to add a reusable and independent functionality on a DOM element. This could easily be done using jQuery. However, since the app was being developed using AngularJS, the best practice was to stick to that only, which was made easy with the AngularJS “Directive” tool.

What are Custom Directives?

At high level, directives are markers on a DOM element (such as an attribute, element name, comment or CSS class) that tell AngularJS HTML compiler ($compile) to attach a specified behavior to that DOM element (e.g. via event listeners), or even to transform the DOM element and its children.
AngularJS comes with a set of these directives built-in, like ngBindngModel, and ngClass. Much like you create controllers and services, you can create your own directives for AngularJS to use. When AngularJS bootstraps your application, the HTML compiler traverses the DOM matching directives against the DOM elements.

Normalization

AngularJS normalizes an element’s tag and attribute name to determine which elements match which directives. We typically refer to directives by their case-sensitive camelCase normalized name (e.g. ngModel). However, since HTML is case-insensitive, we refer to directives in the DOM by lower-case forms, typically using dash-delimited attributes on DOM elements (e.g. ng-model).
The normalization process is as follows:
  1. Strip x- and data- from the front of the element/attributes.
  2. Convert the :-, or _-delimited name to camelCase.
For example, the following forms are all equivalent and match the ngBind directive:
<div ng-controller="Controller">
  Hello <input ng-model='name'> <hr/>
  <span ng-bind="name"></span> <br/>
  <span ng:bind="name"></span> <br/>
  <span ng_bind="name"></span> <br/>
  <span data-ng-bind="name"></span> <br/>
  <span x-ng-bind="name"></span> <br/>
</div>

Directive types

$compile can match directives based on element names (E), attributes (A), class names (C), and comments (M).
The built-in AngularJS directives show in their documentation page which type of matching they support.
The following demonstrates the various ways a directive (myDir in this case) that matches all 4 types can be referenced from within a template.
<my-dir></my-dir>
<span my-dir="exp"></span>
<!-- directive: my-dir exp -->
<span class="my-dir: exp;"></span>

A directive can specify which of the 4 matching types it supports in the restrict property of the directive definition object. The default is EA.

Defining a Directive

This section lists simple steps to define a custom directive in an AngularJS module. First we need to define an AngularJS app then our own custom directive named “myCustomer“.

angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
  $scope.customer = {
    name: 'Anil',
    address: 'Hyderabad'
  };
}])
.directive('myCustomer', function() {
  return {
    template: 'Name: {{customer.name}} Address: {{customer.address}}'
  };
});

<div ng-app="myApp" ng-controller="Controller">
  <div my-customer></div>
</div>

Syntax of a Directive

angular.module('myApp', [])
.directive('myDirective', function() {
  return {
    restrict: 'E',
    transclude: true,
    templateUrl: 'src/app/component/landing/landing.directive.html',
    scope:{
        'name': '=',
        'address': '@address',
        'onClick': '&onClick'
     },
     compile: function(tElement, tAttrs, transclude){
     },
     link: function(scope, iElement, iAttrs, controllerAs, transcludeFn){
     },
     controller: function($scope, $rootScope){
     }
  };
});

Properties wise details

  1. templateUrl can also be a function which returns the URL of an HTML template to be loaded and used for the directive. AngularJS will call the templateUrl function with two parameters: the element that the directive was called on, and an attr object associated with that element.
  2. The restrict option is typically set to:
    • 'A' – only matches attribute name
    • 'E' – only matches element name
    • 'C' – only matches class name
    • 'M' – only matches comment
    These restrictions can all be combined as needed:
    • 'AEC' – matches either attribute or element or class name
  3. scope: What we want to be able to do is separate the scope inside a directive from the scope outside, and then map the outer scope to a directive’s inner scope. We can do this by creating what we call an isolate scope. To do this, we can use a directive’s scope option.
angular.module('myApp', [])
.directive('myDirective', function() {
  return {
    restrict: 'E',
    scope: {
      customerInfo: '=info'
    },
    templateUrl: 'my-customer-iso.html'
  };
});
angular.module('myApp', [])
.directive('myDirective', function() {
  return {
    restrict: 'E',
    scope: {
      customerInfo: '=info'
    },
    templateUrl: 'my-customer-iso.html'
  };
});
The scope option is an object that contains a property for each isolate scope binding. In this case it has just one property:
  • Its name (customerInfo) corresponds to the directive’s isolate scope property, customerInfo.
  • Its value (=info) tells $compile to bind to the info attribute.
  • (=info) binds both way between two components(controller to directive and vice-versa).
  • (@info) binds one way from controller to directive.
  • (&info) binds one way from directive to controller.

4. Link

Directives that want to modify the DOM typically use the link option to register DOM listeners well as update the DOM. It is executed after the template has been cloned and is where directive logic will be put.
link takes a function with the following signature, function link(scope, element, attrs, controller, transcludeFn) { ... }, where:
  • scope is an AngularJS scope object.
  • element is the jqLite-wrapped element that this directive matches.
  • attrs is a hash object with key-value pairs of normalized attribute names and their corresponding attribute values.
  • controller is the directive’s required controller instance(s) or its own controller (if any). The exact value depends on the directive’s require property.
  • transcludeFn is a transclude linking function pre-bound to the correct transclusion scope.
myApp.directive('myDirective', function() {
  return {
    restrict: 'E',
    link: function(scope, element, attr){
          element.append("<strong>"+attr.title+"</strong>");
    }
  };
});
<div ng-app="myApp">
  <my-directive title="Hello Friends"></my-directive>
</div>

5. Compile

function compile(tElement, tAttrs, transclude) { ... }
The compile function deals with transforming the template DOM. Since most directives do not do template transformation, it is not used often. The compile function takes the following arguments:
  • tElement – template element – The element where the directive has been declared. It is safe to do template transformation on the element and child elements only.
  • tAttrs – template attributes – Normalized list of attributes declared on this element shared between all directive compile functions.
  • transclude – [DEPRECATED!] A transclude linking function: function(scope, cloneLinkingFn)

6. Controller

Controller constructor function. The controller is instantiated before the pre-linking phase and can be accessed by other directives (seerequire attribute). This allows the directives to communicate with each other and augment each other’s behavior. The controller is injectable (and supports bracket notation) with the following locals:

  • $scope – Current scope associated with the element
  • $element – Current element
  • $attrs – Current attributes object for the element
angular.module('docsTabsExample', [])
.directive('myTabs', function() {
  return {
    restrict: 'E',
    transclude: true,
    scope: {},
    controller: ['$scope', function MyTabsController($scope) {
      var panes = $scope.panes = [];

      $scope.select = function(pane) {
        angular.forEach(panes, function(pane) {
          pane.selected = false;
        });
        pane.selected = true;
      };

      this.addPane = function(pane) {
        if (panes.length === 0) {
          $scope.select(pane);
        }
        panes.push(pane);
      };
    }],
    templateUrl: 'my-tabs.html'
  };
})
.directive('myPane', function() {
  return {
    require: '^^myTabs',
    restrict: 'E',
    transclude: true,
    scope: {
      title: '@'
    },
    link: function(scope, element, attrs, tabsCtrl) {
      tabsCtrl.addPane(scope);
    },
    templateUrl: 'my-pane.html'
  };
});

<my-tabs>
  <my-pane title="Hello">
    <p>Lorem ipsum dolor sit amet</p>
  </my-pane>
  <my-pane title="World">
    <em>Mauris elementum elementum enim at suscipit.</em>
    <p><a href ng-click="i = i + 1">counter: {{i || 0}}</a></p>
  </my-pane>
</my-tabs>
<div class="tabbable">
  <ul class="nav nav-tabs">
    <li ng-repeat="pane in panes" ng-class="{active:pane.selected}">
      <a href="" ng-click="select(pane)">{{pane.title}}</a>
    </li>
  </ul>
  <div class="tab-content" ng-transclude></div>
</div>

<div class="tab-pane" ng-show="selected">
  <h4>{{title}}</h4>
  <div ng-transclude></div>
</div>

7. Transclude

What does this transclude option do, exactly? transclude makes the contents of a directive with this option have access to the scope outside of the directive rather than inside.
To illustrate this, see the example below. Notice that we’ve added a link function in script.js that redefines name as Jeff. What do you think the {{name}} binding will resolve to now?
angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
  $scope.name = 'Tobias';
}])
.directive('myDialog', function() {
  return {
    restrict: 'E',
    transclude: true,
    scope: {},
    templateUrl: 'my-dialog.html',
    link: function(scope) {
      scope.name = 'Jeff';
    }
  };
});
<div ng-controller="MyController">
  <my-dialog>Check out the contents, {{name}}!</my-dialog>
</div>
Ordinarily, we would expect that {{name}} would be Jeff. However, we see in this example that the {{name}} binding is still Tobias.
The transclude option changes the way scopes are nested. It makes it so that the contents of a transcluded directive have whatever scope is outside the directive, rather than whatever scope is on the inside. In doing so, it gives the contents access to the outside scope.
Note that if the directive did not create its own scope, then scope in scope.name = 'Jeff' would reference the outside scope and we would see Jeff in the output.

Advantages

Directives are useful in creating repeatable and independent code. They modularize the code by clubbing requirement-specific behavioral functions in one place, rather than creating some objects in the central controller and manipulating them using multiple JavaScript methods. Such a modular code will have multiple directives that handle their own functionalities and data, and work in isolation from other directives. As an added benefit, the HTML page and Angular scripts becomes less messy and more organized.

Conclusion

In this post we learned about Custom Directives in AngularJS through a brief introduction and examples of their usages and their advantages. With Directives, you can create custom HTML tags, attributes, or classes to implement required functionality over an HTML section. This then becomes an independent and reusable component that can be embedded in the same or a different HTML page.

The post Know about Custom Directive appeared first on Welcome to Ahex Technologies.

]]>
1303
How to install LEMP stack on Ubuntu https://ahex.co/how-to-install-lemp-on-ubuntu/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-install-lemp-on-ubuntu Mon, 20 Nov 2017 08:37:16 +0000 http://ahex.wpenginepowered.com/?p=1230 LEMP stack is combination of Linux, Apache, MySQL and PHP which can be used to serve web applications. The individual components of this stack are: Requirements for installing LEMP stack The OS should be Ubuntu, which also satisfy the first technology of the LEMP stack that is Linux. If not, then go here Ubuntu to...

The post How to install LEMP stack on Ubuntu appeared first on Welcome to Ahex Technologies.

]]>
LEMP stack is combination of Linux, Apache, MySQL and PHP which can be used to serve web applications. The individual components of this stack are:

  • Linux
  • Nginx
  • MySQL
  • PHP

Requirements for installing LEMP stack

The OS should be Ubuntu, which also satisfy the first technology of the LEMP stack that is Linux. If not, then go here Ubuntu to download and install it. To successfully complete all the steps mentioned here, you should have a account on the machine with sudo privileges.

Step 1: Install Nginx Web Server(‘E’ in LEMP)

In LEMP, ‘E’ symbolizes the ‘Nginx’ webserver.To install the Nginx web server follow these steps:

$ sudo apt-get update 
$ sudo apt-get install nginx

Once the above step is completed open your browser and try to access http://localhost if you are installing on your local machine. If you are setting it up on a server then try to access http://YOUR_SERVER_DOMAIN_NAME_OR_IP_ADDRESS. In both the cases it should take you to the nginx default page.

Note: If you are running ufw firewall on the server, you have to allow connections to the Nginx.

$ sudo ufw allow 'Nginx HTTP'

Step 2: Install MySQL database (‘M’ in LEMP)

After installing the web server, next comes installing the MySQL database management system, which is denoted by letter ‘M’ in the LEMP stack. MySQL will be used for saving and managing the data for the applications running on the machine. It can be installed using this command:

$ sudo apt-get install mysql-server

During the installation, it will ask to setup the administrative password, you are suggested to provide a random and strong password. Once all the set-up is done, you might think that all is done, but it is strongly advised to make it more secure. So issue this command on your terminal:

$ mysql_secure_installation

Follow the steps that are then displayed on your screen to make your MySQL installation more secure.

Step 3: Install PHP (P in LEMP)

Once we are done with installing the Nginx web server and MySQL database, next comes installation of the PHP, which is symbolized by letter ‘P’ in the acronym LEMP. It can be installed using this command:

$ sudo apt-get install php-fpm php-mysql

Here we are installing php-fpm because in Nginx there is no built in support for php. Once the installation is complete, then open the php.ini file using this command:

$ sudo vim /etc/php/7.0/fpm/php.ini

Search for the line

;cgi.fix_pathinfo=1

and change it to

cgi.fix_pathinfo=0

Once you have made the above change, save it and restart the php-fpm

$ sudo systemctl restart php7.0-fpm

Note: On my system php7.0 is installed, so I am using it. You can use the PHP version as per your system installation.

Once all the steps are done then now it is time to configure the Nginx to use the PHP. To do this open the Nginx configuration file using this command:

$ sudo vim /etc/nginx/sites-available/default

And set the values like this:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name DOMAIN_NAME_OR_IP_ADDRESS;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Once it is done save the changes and close the file, and run this command to check if the syntax of the config file is correct:

$ sudo nginx -t

Check your file and fix the issues if it displays any error. Once it gives you a success message, run this command:

$ sudo systemctl reload nginx

This will load the configuration changes you did in previous step.

The post How to install LEMP stack on Ubuntu appeared first on Welcome to Ahex Technologies.

]]>
1230