Termitnjak has been working extensively with Python based web platforms and applications for more than half a decade, during which our developers have been performing extensive Python, Zope/Plone CMS, Pyramid and Kotti framework development and consulting work. Such expertise allows us to provide high quality consulting service to help you in any stage of your project.
Our consulting services can be beneficial to individuals and enterprises searching to improve their existing knowledge, plan and develop simple or more complex web solutions.
Analysis of requirements and design of an optimal solution
It is important to properly analyse and plan the project before starting with the implementation phase, especially with larger and more complex projects. This includes careful data modelling and design of software components, with selection of the best technologies for a given project. We can help you make sure that your project will have a stable architecture, so it will be easiser to maintain and extend as your business grows.
Setting up efficient development environment and testing infrastructure
Happy developers are productive developers. It is crucial that the development environment allows people to work together efficiently. This includes setting up:
- A version control system (VCS) which makes it easy to combine work from all the developers and do code reviews. We prefer Git together with Gitlab, if you want to host it on your infrastructure, or using externally hosted services like Github or Bitbucket.
- An issue tracking system, integrated with the VCS to easily track progress and changes, like Redmine.
- A project build system (using buildout and make) that allows developers to easily start with the project, run tests, do code validation, deploy etc.
- Testing infrastructure - we can help you set up testing infrastructure for running unit, integration and functional tests (using Robotframework or Behave). Integration with continuous integration services like e.g. Travis CI is also possible.
- A good code editor that you can customise to your needs and workflow. In Termitnjak we prefer to use Emacs and Sublime Text 3.
Coding best practices
We can advise you on best practices related to code style and organisation, add-on development, customisation of core components etc. This also includes setting up code quality tools like PEP8, pylint, JsHint/JsLint, ...
Performance analysis and optimization
Is your site expecting an increased amount of visitors, editors, or users in general? Are you experiencing high RAM usage or slow site performance? Our team can analyse existing site configuration and assist you with optimizing it's performance.
Platform/Add-on migration and upgrades
Stuck with a tricky migration or Plone upgrade? Our developers offer extensive knowledge of web content management systems and experience with the migration between systems, while ensuring the desired functionality, design and content.
Server configuration and deployment
Our team can set up optimal server environment for running your website or application, that takes into account security, performance and data backups. The optimal performance is achieved by tuning the server for a the specific application and by configuring caching and load balancing, depending on the requirements.