QA from the very beginning

Professional support from day 1

We start Quality Assurance activity in the specification writing phase by reviewing and giving feedback to the editor of the functional specification. Our Senior developers, Testers and Software Architects provide their input in terms of planning.
We prefer jump in even earlier stage with experienced Business Analysts who can help the client defining business ideas in the form of a software solution. Thus the expensive dead ends are avoidable.

Quick iterations

We follow the Agile approach, typically in two-week sprints, which enables the formulation and achievement of efficient sprint goals, as well as adds flexibility to change management. We support rapid testing cycles of the current version of the software with continuous integration methods.
As a result, the client is able to try out the system in its current state from the very beginning of the development.

Full transparency

Cloud based task management and the reporting tool (Jira) provides a full view of the hours spent on tasks in the given development cycle. It solves the joint editing of the Backlog, as well. The test cases and the results of their runs are also transparent to our customers ( we use TestLink software). This enables the customer to feel like that we are part of the internal team throughout the software development process.

Future-proof solutions

Our experienced test engineers automate the test run (with our own, state-of-the-art, Selenium based solution) for the test cases of stable functions. This way, it is possible to implement new functions under stable operation of previous functionality.
Several members of the QA team are ISTQB Certified Testers.

Long term maintainability

We are rigorous in using industry standard solutions to keep options open.

Improvability

We are experts at preparing improvable software. The key to facilitating the integration of future changes is that we pay careful attention to software architecture and quality from the outset of the project.
This allows adding new features to the software in every phase easily and sustainably.

Flexibility

Our experienced architects plan the system in a modular fashion and, by using a code review mechanism, keep the functionality in the appropriate software layers (generally following the MVC model). In case of restructuring becomes necessary, we achieve it through code and modul refactoring.
This way, changes only required at the relevant moduls of the software, and even connecting new ones can be easily accomplished.

Code quality

Code analysis is automatically run both on the front and backend codebases. The result is then used to improve code quality in daily development. We keep Unit test coverage of common components close to 100%.
Getting code quality right from the very beginning means quicker, easier changes in the future and lower overall costs.

Extensive experience

We are Java Enterprise Edition experts with experience deploying Java based projects since 2002.
With over 90 years of combined experience in Java development, our architecture and development team of nearly twenty-five experts is available to serve the IT and business needs.
If the development of a complete solution requires some unique and specific knowledge, thanks to our wide network of professional connections, we are able to involve additional specialists at any time. This guarantees that the developed solution is implemented with the highest level of expertise.

Up-to-date technologies

Keeping track of the most recent trends and technologies is one of the cornerstones that enables our team to deliver modern products of various levels of complexity.
Settled solutions of Java technologies extends the useful life cycle of the given software for long time.

Comprehensive service

Precognox offers full-cycle Java development services. We build reliable, scalable and secure applications that meet the most sophisticated requirements so that our clients can concentrate on their own business.

What can we do for you?

Analysis and consulting

– Project analysis and requirements management
– Business process modeling
– Data modeling
– Solution architecture design
– Security consulting and audit

Application Development

– Custom application and product development
– Software solution optimization, reengineering and performance tuning
– Migration from legacy technologies to Java
– Data mining & business intelligence
– Enterprise content management
– Internationalization and localization

Architecture design and scaling

– Needs assessment based on the distribution of daily data and visitor traffic
– Selection of cost-effective platform and architecture elements (cloud vs. dedicated servers)
– We build components that easily enable the movement and scaling of applications.
– Continuous delivery approach to prevent releasing stress
– Infrastructure automation
– Structured logging
– Monitoring of production software and architecture tuning

– Index-building, implementing complex relevance functions and quick text-search
– Multilingual indexing
– Domain specific thesaurus building
– Autocomplete (query suggestion)
– Document clustering
– Post-filtering solutions – multiple facets (clusters)
– Search interface building
– Search scaling (sharding, clustering, replication for high availability)

Structured database building from disorganised data (ETL)

– Focused crawling (cyclic walkthrough of thematic web sources)
– Text parsing, data retrieval and transformation
– Structured storing in database (relational or HBase, or graph database)
– NoSQL data storing

Text and Data mining

– Keyword extraction from unstructured text (in English, German, Hungarian, Spanish, Portugese, Chinese, Arabic)
– We are an official system integrator of the Rosette Text Analytics toolkit
– Complex use of linguistic tools and language processing frameworks (UIMA, GATE , OpenNLP, Stanford NLP tools, tools of Morphologic)
– Linked data, SKOS thesaurus building
– Predictive analytics
– Parallel and distributed text processing
– Text classification and clustering
– Tagging texts with relevant key-phrases and keywords
– Extractive text summarization
– Sentiment and emotion analysis

Professional Java application development

– 10-12 years experience at several team members
– J2EE development: Java EE7, EJB3
– Building and deployment (Gradle, Docker)
– Microservice based application structuring
– Stress testing and Java profiling, optimisation

Mobile development

– Application development for Android platform

Web developmentWeb service, Restful API creation and documentation with Swagger

Client side MVC based on Angular

TypeScript supported client side code quality

Java EE – JSF based, web application building according to MVC model

Hosting, scaling

– Any J2EE application server or Servlet engine
– Apache httpd, NGinx, HAProxy load balancing
– Container architecture (Docker), with multihost service discovery
– Orchestration (Ansible, Rancher)
– Multi-level cache solutions (Squid)
– MySQL performance tuning
– Cloud scaling
– Map/Reduce processing (Hadoop, Cloudera)
– AWS (Amazon Webservices)

Security

– CAS, SSO (Single Sign On)
– Authentication through social media sites
– HTTPS/SSL
– X.509
– Encryption

Technologies, tools and skills

– Solr, Lucene, Elasticsearch
– Natural Language Processing tools (Rosette Text Analytics, UIMA, GATE , OpenNLP, Stanford NLP tools, Morphologic tools)
– Annotation services for supervised machine learning tasks
– ETL tools: Pentaho, Talend
– Tableau
– Wildfly (JBoss), Tomcat, Jetty, Dropwizard
– Apache httpd, NGinx, Lighttpd, HAProxy
– Java 8, J2EE 7 (EJB3, CDI, JPA, JMS, JAX-RS, JAX-WS, JSF, JSP)
– Hibernate, EclipseLink
– Message queue (JMS, RabbitMQ)
– HTML 5, CSS 3, Angular, Javascript, TypeScript
– Ruby, python, shell+awk, groovy
– GWT
– Database management (MySQL, Postgres, Derby)
– Oracle DB, PL/SQL
– Graph database: neo4j
– Database migration (Liquibase, Flyway)
– Redis, Riak
– Git (Stash, GitLab)
– Redmine and JIRA project management system
– Testlink
– SoapUI
– Selenium: Automated Testing and RPA (Robotic Process Automation)
– Virtualization with Vagrant
– Docker, Docker compose
– Consul
– Chef infrastructure automation
– Jenkins continous integration
– Pact
– Swagger
– Logstash
– RMunin, Nagios
– Kibana
– SonarQube to manage code quality
– gradle
– ansible
– rancher, rancher compose
– awscli
– datadog
– kalilinux, metasploit
– Locust
– Database migration (Liquibase, Flyway)
– Redis, Riak
– Git (Stash, GitLab)
– Redmine and JIRA project management system