Portfolio
Company On Net
- Company On Net™ Core
-
URL: www.company-on.net
Technologies used: Python, Paster, Buildout, PostgreSQL, Nginx, SSL, Supervisord, Munin, CentOS
First release in: 2008 (ongoing development)
Client: CONNET d.o.o.
Description
A technical backbone for the Company On Net™ verification system. The core system displays the main three elements - Seal, Certificate and Verified Page.
System
The core part of the Company On NetTM system is responsible for three main tasks:
1. Displaying trust seals on websites: A company can embed Company On NetTM seal on their website(s), which indicates that the company's identity is verified. When a visitor visits such site a request is sent to the core server. The core server then checks in its database if the site is verified. If all the security checks pass it sends a seal image back to the originating website indicating that the site owner's identity is known.
2. Displaying certificates: A website visitor can check the site owner's identity by clicking on the seal. The core server again performs various security checks and looks up the relevant data in the database. If everything passes a valid company certificate is displayed and website visitor can then see the information of the company or organization, which runs the website.
3. Hosting of the so-called "verified pages": Every verified company in the system has its own unique site, where visitors can find as much (verified) company information as possible, including financial and credit reports for the biggest companies. There is also a contact form visitor may use to contact a company. Because the form resides on a verified page, visitors can be certain that their message will come to the right recipient (and not, for example, to some non-existing or fraudlent company).
Verified page's address is in the following form: company_name.abbreviation-on.net (example: company.ltd-on.net). Since this is a global project, it is needles to say that smooth performance nad 24/7 uptime are of top priority.Deployment
We use CentOS operating system on our servers. Each request first goes through the lightweight but extremely powerful nginx webserver. The webserver primarily acts as a load balancer for the multiple paster instances in the background, but is also responsible for URL rewriting and SSL handshakes. Paster instances in the background read (and occasionaly write to) data from the PostgreSQL database.
Processed are watched and controlled by the supervisord utility, while system load data is collected by a Munin monitoring tool. On top of that all important activities on the server are logged.
Backup is performed on a daily basis.
- Company On Net™ Administration Panel
-
URL: www.company-on.net
Technologies used: Python, Plone, Buildout, Supervisor, z3c.recipe.crontab, collecive.recipe.backup, Plone Placeful Workflow, Sphinx, etc.
First release in: 2008 (ongoing development)
Client: CONNET d.o.o.
Description
The administration panel is a support to the sales and technical staff of Company On Net ™sellers and clients.
System
The whole workflow of obtaining a Company On Net certificate is fully supported with this application. Administration Panel has many tasks:
- Allowing sellers to enter new customers.
- Allowing customers to check and edit their company data.
- Allowing representatives to manage payments for certificates.
- Allowing verifiers to manage verifications of single certificates.
- Allowing report providers to upload a financial/credit report for a certificate.
- Email notifications and reminders for entities in all user levels.
- PDF order forms and proforma invoices.
- Gathering and displaying statistics.Deployment
The system is deployed on a more resourceful Cloud server to ensure proper performance and user experience.
- Company On Net™ Websites
-
URL: www.company-on.net, si.company-on.net, uk.company-on.net, hr.company-on.net
Technologies used: Python, Plone, Buildout, Supervisor, z3c.recipe.crontab, collecive.recipe.backup, ...
First release in: 2008 (ongoing development)
Client: CONNET d.o.o.
Description
Presentation websites for the Company On Net™ verification system, including the main international websites along with localized websites for each country that Company On Net™ is present in.
System
All presentation website are running on one Zope backend and are using the same code. All localization of sites' structe is done with i18n files and content is translated normally through Plone web interface.
Deployment
The system is deployed on a more resourceful Cloud server as there are many sites running on a single server and more resources are needed to provide good performance of these sites. Having all sites on one server and using the same code greatly lowers the need for maintenance.
Web Systems and Websites
- BigContentSearch.com
-
URL: bigcontentsearch.com
Technologies used: Python, Plone, Buildout, Supervisor, niteoweb.click2sell, Transmogrifier
First release in: 2010 (ongoing development)
Description
BigContentSearch.com is the first PLR membership website on the internet with over 100,000 articles in a searchable database.
System
We used Plone as a basis for this project since we anticipated several hundreds member accounts, hundreds of thousands of articles and need for an advance search.
At the moment we have over 100k articles in the database already. Articles were imported with collective.transmogrifier.
We also use niteoweb.click2sell to have paid memberships for the site.
Read more about the whole process on the project's blog.
Deployment
The web system is deployed on a Rackspace Cloud medium server instance to ensure a smooth experience for out users.
- Izterjevalec.si, Automatic Debt Notification
-
URL: www.izterjevalec.si
Technologies used: Python, Plone, Buildout, Supervisor, z3c.recipe.crontab, collecive.recipe.backup, SMS dispatch module
Released in: 2009
Client: CONNET d.o.o.
Description
Izterjevalec ("collector" in Slovenian) is a system for automatic notification about payments due. A client enters its debtors' data and the system automatically sends emails and SMS to remind the debtor to pay the invoice. The service leverages Company On Net™ verification process and practically eliminates fraudalent debt collections.
System
We used Plone as a basis for this project since we anticipated a multi-level user and permission model.
We built custom content types based upon default Plone content types and bound them to custom workflows. The user interface was kept similar to what Plone has by default. We added a special module for communicating with our SMS dispatch center via HTTP protocol.
We used crontab to run hourly tasks. On each full hour, a special script goes through the whole database and finds content that need SMS notification for. Then it generates the SMS text out of several pre-defined templates (based on the severity of delay) and information entered by customers. SMS is then relayed to the SMS dispatch center where it gets sent to the actual mobile device.
Deployment
The web system was deployed on a dedicated Cloud server until a new owner took over.
- News & Events Website for Zavod mladi podjetnik
-
URL: mladipodjetnik.si
Technologies used: Plone, Python, Buildout, PloneFormGen, CacheFu, Varnish, FCKEditor, RichDocument, Supervisord, CentOS, vBulletin, phpBB
First release in: 2006 (ongoing development)
Client: Zavod mladi podjetnik
Client
MladiPodjetnik.si is a portal for supporting entrepreneurship among students and other youngsters. It is a growing community with daily news, articles and events. All information, help and events is free of charge. The funding for the organization is based on advertising revenue and grants.
System
The project started as a hobby back in 2006. The first release was a Plone 2.5 based website with default content types and a freely available Plone theme. After a few months, the community started growing and we had to release the second version, which was still Plone 2.5 based but had a customized theme and more finely tuned roles and permissions.
Work on third version of the site began in late 2008 when the old site couldn't cope anymore with increasing traffic, content and modification requests. We based the new version on Plone 3.1 and heavily customized the default content types to suit the client's needs. The design was done completely in-house: from structural design, to graphical draft to the finally installable Plone theme product. The site's front page was made from scratch to squeeze in as much information as possible but still keep it user friendly.
Since advertising is the main income for the client the layout had to be designed in a way to allow efficient and customizable ads management. We used OpenX as a backend for ads management. Client also uses Aweber email marketing software. We created a custom portlet for displaying a registration form for aweber's mailing list and styled it to fit into the site well.
Workflows were also customized and new roles added to suit the client's publication process.
Deployment
The website currently contains in excess of 10.000 content objects. It receives more than 40.000 unique visitors per month. This meant that we had to finely tune the delivery of content to visitors while keeping the server costs down. MladiPodjetnik.si runs on a RackSpace Cloud medium-sized server instance.
- Customer Relationship Manager (CRM) for OBS
-
Technologies used: Plone, SSL, Python
Developed in: 2007
Client: OBS d.o.o.
Description
A custom built Customer Relationship Manager for a company dealing with online skiing holidays booking.
System
The basis for this project was our own Plone-based internal CRM system which was one our first internal projects. We took what we learned and build a customized CRM system for our client.
They use our CRM for keeping track of accommodation partners (hotels, apartments, chalets, etc.). The system enables them to add coming interactions (calls, emails, meetings, etc. ) for every single partner and assign these interactions to employees. Employees then have a "worklist" view for listing interactions that need to be handled today, tomorrow, in the next week and so on. All interactions are stored for future reference. Accommodation partners (hotels, appartments, etc.) are sorted by country and ski-resort.
All content objects are built upon the default Plone content types enabling content actions like cut/copy/paste, history and undo.
Deployment
The system now has more than 2 years of uptime, running on a cost-effective small-sized virtual server even though it stores thousands of different content objects (partners, interaction, etc.).
Access to the application is protected with an SSL certificate to ensure a safe data transfer.
- Corporate Website for RE plus
-
URL: www.replus.si
Technologies used: Plone, Python, PloneFormGen, Plone Wilkin Theme, RichDocument, qSEOptimizer
Developed in: 2009
Client: RE plus d.o.o.
Client
A presentation website for a Slovenian based accounting firm RE plus.
System
This is a basic Plone project. We strived to keep Plone as default as possible to ensure a smooth upgrade when applicable. Most of the work went into theming and organizing the initial structure of the site.
Deployment
This website is currently deployed on a dedicated Cloud server. Since it's a low-traffic site it can run on the smallest and cheapest server instance.
- Presentation Website for EMSA Europe
-
URL: not yet published
Developed in: 2010
Technologies used: Plone, Nginx, Python, Buildout, RichDocument, PloneTrueGallery, Supervisord
Client: EMSA Europe
Description
A presentation website for a company delivering dynamic lubricating systems for industries ranging from steel, paper, wood, construction and food industry.
System
This is a basic Plone project. We strived to keep Plone as default as possible to ensure a smooth upgrade when applicable. Most of the work went into theming and organizing the initial structure of the site along with private document repository workflows for EMSA Board members.Deployment
This website was deployed on a small dedicated Cloud server until client took over it's hosting.
- News & Booking Website for ŠOU Ljubljana
-
Developed in: 2010
Technologies used: Plone, Nginx, Python, Buildout, RichDocument, PloneTrueGallery, Supervisord
Client: ŠOU Ljubljana
Description
LifeInLjubljana.si is a website that helps Erasmus students coming to Ljubljana to easily find a room and some company.
System
The website has three levels of users: Anonymous, Staff and Administrators. Anonymous will only be able to view information on the site. Staff members will be able to manage default Plone content on the site (pages, images, ... ) as long as also managing the Flat content (adding and editing rooms, ratings, etc. ).
The main part of the site is the list of available flats/beds with an advanced search. Visitors can do a sorted search on several characteristics of a flat/bed.
When a booking is confirmed, Staff members enter this information on the site so visitors can always see updated information about when each room is free.
There is also integration with Google Maps. ŠOU provides a Google Map with Faculties represented as pins on the map. Also each room is represented as a pin on the map. The coordinates of there pins are then manually copied to product code, namely in config.py. The system can then automatically calculate distances from a Flat to the faculty. Search result sorting based on distance from a chosen faculty is also enabled.
When Erasmus students leaves Ljubljana, he is asked to provide rating of the room (from 1 to 5) and a short comment on the rating. Upon receiving this information (via email, ... ) Staff members enter this on the website.
Site news are implemented like a simple blog.
Forum is implemented by integrating Nabble mailing lists into the site.
Deployment
This web system is currently deployed on a medium dedicated Cloud server to ensure a smooth experience for users and staff members.
- News Website VarnostNaSpletu
-
URL: VarnostNaSpletu.si
Technologies used: Plone, Python, Buildout, Plone Nautica Theme, Supervisord
Developed in: 2008
Client: Zavod mladi podjetnik
Description
A website for educating Slovenian internet population how to protect themselves on the net. The site hosts news and articles from different areas of IT security. It has a section dedicated for users and one dedicated for companies.
System
Plone is perfect for projects like this. We took World Plone Day theme and customized it to suit the client's needs. We then setup the base site structure for news and articles. We then added members and assigned them permissions for managing content.
Client used Aweber email marketing software. We created a custom portlet for displaying a registration form for aweber's mailing list and styled it to fit into the site well.
Deployment
The web system is currently deployed on our virtual servers.
- Corporate Website for Zinter
-
URL: www.zinter.si
Technologies used: Plone, Python, Buildout, Plone Nautica Theme, CacheFu, Supervisord
Developed in: 2009
Online till: 2010
Client: Zinter d.o.o.
Description
A presentation website for a company specializing in producing Energy Performance Certificates and research in this area.
System
The base for the project is default Plone CMS system and the Plone Nautica Theme. We customized the theme to suit the client's needs and fit with it's brand. Then we added basic structure of the site and modified Plone's site settings accordingly. Lastly we added Zinter's employees as members of the site and assigned them permissions for managing content.
Deployment
The website was deployed on our virtual servers until it was taken offline by the client.
- Public Relations Website for Jernej Damjan
-
URL: JernejDamjan.si (now on WordPress.com)
Technologies used: Plone, Python, Buildout, Intense Simplicity, qPloneCaptchas, Plone Comments, Supervisord
Developed in: 2009
Client: Jernej Damjan
Description
A presentation website for a successful Slovenian nordic ski jumping competitor, Jernej Damjan.
System
We deployed a basic Plone CMS system, installed the Intense Simplicity Plone theme (which we customized a bit), added base structure to the site and modified site settings to comply with the needs. Lastly we a Jernej as a member with permissions to manage content, so he can personally add and edit news, articles and multimedia on his site.
Deployment
The web system was deployed on our virtual servers. Since it was a low-traffic site it could run on the smallest and cheapest server instance
- Corporate Website for Sinergija3
-
URL: www.sinergija3.si
Technologies used: Plone, Python, Buildout, Plone Nautica Theme, CacheFu, Supervisor
Developed in: 2009
Client: RRC d.d., ENEKOM d.o.o.
Description
A presentation website for a consortium of two Slovenian based companies RRC d.d. and ENEKOM d.o.o.
System
The base for the project is default Plone CMS system and the Plone Nautica Theme. We customized the theme to suit the client's needs and fit with it's brand. Then we added basic structure of the site and modified Plone's site settings accordingly. Lastly we added Sinergija3's employees as members of the site and assigned them permissions for managing content.
Deployment
The web system was deployed on our virtual servers until hosting was taken over by the client.
- Presentation Website for Marjan Račnik, Vodja.si
-
URL: www.vodja.si
Technologies used: Plone, Python, Buildout, CacheFu, Supervisor
Developed in: 2010
Client: Marjan Račnik
Description
A presentation website for a NLP and leadership trainer Marjan Račnik.
System
The base for the project is default Plone CMS. We built a customized theme from a design mockup made in Photoshop. Then we added basic structure of the site and modified Plone's site settings accordingly. We added a private section with materials for participants of Marjan's trainings. Marjan can post new trainings to the site and display an RSS feed from his Wordpress blog.
Deployment
The web system is currently deployed on a cloud server. Since it's a low-traffic site it can run on a small server instance.
- Presentation Websites for Yearly Magazines
-
URLs: www.absolventbom.si, www.bonzur.si, www.prirocnikzabruce.si, www.babybook.si, www.faxvpisnik.si, www.srednjesolskivpisnik.si
Technologies used: Plone, Python
Developed in: 2007
Client: Mogenas d.o.o.
Description
A presentation website for a group of 7 yearly publications for Slovenian youngsters.
System
The base for the project is default Plone CMS system. The design was based on a graphical template from a major template-reselling site. We customized it a bit to align it with Plone's layout. We stored all customized HTML and CSS in a classic Plone theme product. We also installed some third-party Plone add-ons such as RichDocument, PloneSurvey and PlonePopoll to suit the client's needs.
The idea was that each of the 7 yearly publications has a dedicated site, but all sites must be visually coherent enough that it's immediately apparent that they are related. So we chose a bit non-standard design with leaflets and made 7 different color variations. Now each site uses basically the same theme products, but with different color scheme.
Deployment
Client decided to host the site themselves. They have been up and running for more than three years now.
- Corporate Website for DIMAS
-
URL: www.dimas.si
Developed in: 2007
Technologies used: Plone, Nginx, Python, Buildout, RichDocument, PloneTrueGallery, Supervisord
Client: DIMAS d.o.o.
Description
A presentation website for a company delivering dynamic lubricating systems for industries ranging from steel, paper, wood, construction and food industry.
System
The basis for this project was default Plone. We installed RichDocument add-on for Plone to enable attachments support for default Plone's Document content type. PloneTrueGallery add-on is used to deliver "Web 2.0"-ish gallery for their gallery.
The design was based on a graphical template from a major template-reselling site. We customized it a bit to align it with Plone's layout. We stored all customized HTML and CSS in a classic Plone theme product.
Employees can use the site in a normal Plone fasion: Adding new folders and subfolders, adding news and documents, managing gallery, copy/pasting content from one part of the site to another, undo-ing mistaken actions, etc.
Deployment
The system now has more than 3 years of uptime, running on a cost-effective small-sized virtual server.
- Presentation & Collaboration Website for EESTEC
-
URL: www.eestec-lj.org
Developed in: 2006
Technologies used: Plone, Python, Buildout, LinguaPlone, Supervisord
Client: EESTEC LC Ljubljana.
Description
A presentation website with internal document storage system for Local Committee Ljubljana of Electrical Engineering Students European Association - EESTEC.
System
Nejc Zupan, our lead developer, joined the IT Team of LC Ljubljana back in 2006. Together with other members they developed the site using Plone 2.5. They used Pyboom Plone theme and customized it to suit EESTEC's needs. Then they've set up the site structure, assigned permissions and added members.
Currently the system holds all information a visitor needs about LC Ljubljana. Member's of LC Ljubljana can edit all content on the page and add new news items and events.
There is also a private section where internal documents are stored. This way, information such as members' mobile phone numbers or home addresses are always at hand.
The website is bi-lingual as some content is translated to English (the main language being Slovenian). This was achieved with integrating the great LinguaPlone add-on.
Deployment
The web system was deployed on our servers as part of our sponsorship program with EESTEC LC Ljubljana.
- Presentation Website for Next Generation Mobile Services
-
URL: ngms.eestec-lj.org (not online anymore)
Technologies used: Plone, Python, Buildout, Plone Nautica Theme, Supervisord
Developed in: 2009
Client: EESTEC LC Ljubljana
Description
A presentation website for the Next Generation Mobile Services workshop organized by Local Committee Ljubljana of Electrical Engineering Students European Association - EESTEC.
Next Generation Mobile Services workshop is an international workshop held in 2008 in Ljubljana, where students from all around Europe learn about IMS. IMS, or IP Multimedia Subsystem, is an approach to Next Generation Networking. IMS-based services will enable all-IP person-to-person and person-to-content communications in a variety of modes - including voice, text, pictures and video, or any combination of these - in a highly personalized way.
System
Since the project was to be done on a minimal budget we took the freely available Plone theme called 'Nautica Theme' so no extensive work was needed for the design. What was left to do was create the basic layout of the site, set correct values in Site Settings and add some members with permissions to manage content.
Deployment
The web system was deployed on our servers as part of our sponsorship program with EESTEC LC Ljubljana.
Open Source Contributions
- niteoweb.loginas
-
URL: pypi.python.org/pypi/niteoweb.loginas
First release in: 2009 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: An OpenSource Third Party product for Plone CMS enabling administrators to login as any other website member on a single Plone site.
When developing on the Company On Net project we needed a way to login as different members for debugging purposes without knowing the members' passwords.
With some help of the Plone Community we came up with the solution and started using it. Later in 2009 we decided to separate it from the main Company On Net project, repackage it into 'niteoweb.loginas' and publish it on www.plone.org for everyone to use freely.
As of this writing, more than 1000 downloads of the product were already made.
- niteoweb.clickbank
-
URL: pypi.python.org/pypi/niteoweb.clickbank
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: An OpenSource Third Party product for Plone CMS that integrates ClickBank digital products retailer system with Plone to enable paid memberships on your Plone site.
When working on the BigContentSearch project we needed a way to have paid memberships on our site. We chose ClickBank as a digital products retailer and integrated their API with Plone in a separate add-on, so anyone can use it.
As of this writing, more than 400 downloads of the product were already made.
- niteoweb.click2sell
-
URL: pypi.python.org/pypi/niteoweb.click2sell
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: An OpenSource Third Party product for Plone CMS that integrates Click2Sell digital products retailer system with Plone to enable paid memberships on your Plone site.
When working on the BigContentSearch project we needed a way to have paid memberships on our site. First we chose ClickBank but later on switched to Click2Sell. We integrated Click2Sell's API with Plone in a separate add-on, so anyone can use it.
As of this writing, more than 150 downloads of the product were already made.
- niteoweb.downloadcounter
-
URL: pypi.python.org/pypi/niteoweb.downloadcounter
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: An OpenSource Third Party product for Plone CMS that counts how many time was a File content type downloaded and displays this number on File view page.
When working on the BigContentSearch project we needed a way to track and display number of downloads of a certain File. After a proof-of-concept we put the code into a separate package and released it as niteoweb.downloadcounter. It is a simple Plone add-on that counts how many times has a default File content type been downloaded. It displays this value in a viewlet below File's title.
As of this writing, more than 300 downloads of the product were already made.
- FireInFolders
-
URL: pypi.python.org/pypi/FireInFolders
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: Command line utility which excecutes commands in multiple folders.
This tool was created for use with buildout and svn externals. Buildout populates src/ folder with products that need svn management. This egg makes it easier to do management: "fire_in_folders svn up"
As of this writing, more than 600 downloads of the product were already made.
- niteoweb.transmogrifier.simpleusage
-
URL: pypi.python.org/pypi/niteoweb.transmogrifier.simpleusage
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: A simple example of how to use collective.transmogrifier.
This package shows you how to use collective.transmogrifier to import news items into Plone.
The main idea is that you can use this product as a skeleton for migrating content from other systems to Plone, since you only need to pass in correct data instead of hard-coded dummy values.
As of this writing, more than 150 downloads of the product were already made.
- hostout.centos
-
URL: pypi.python.org/pypi/hostout.centos
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: Plugin for collective.hostout that bootstraps a CentOS host ready for hostout deployment.
A result of an internal research for using collective.hostout for our deployments.
As of this writing, more than 100 downloads of the product were already made.
- niteoweb.windmill
-
URL: plone.org/products/niteoweb.windmill
First release in: 2009 (ongoing development)
Technologies used: Plone, Python, ZopeSkel, Windmill
Description: An OpenSource Third Party product for Plone CMS enabling testing a Plone site with the Windmill testing platform.
niteoweb.windmill extends Plone's FunctionalTestCase to provide support for running Windmill tests. This is achieved by adding an additional test layer, which starts a single-threaded ZServer instance alongside the Windmill server.
Windmill supports most of modern browser. The controller API can be found at http://trac.getwindmill.com/wiki/ControllerApi.
For more details, see http://getwindmill.com and David Glick's In-browser integration testing with Windmill blog post.
As of this writing, more than 1000 downloads of the product were already made.
- zopeskel.niteoweb
-
URL: pypi.python.org/pypi/zopeskel.niteoweb
First release in: 2010 (ongoing development)
Technologies used: Plone, Python, ZopeSkel
Description: Paster templates for standard NiteoWeb Plone projects.
This is collection of ZopeSkel templates to help you standardize and automate the task of starting, deploying and maintaining a new Plone project. Its particularly helpful for less experienced Plone developers as they can get a properly structured and deployed Plone 4 project in no time. A complete tutorial on how to use these templates for your own projects is at http://ploneboutique.com.
As of this writing, more than 500 downloads of the product were already made.
WordPress Presentation Websites
- Presentation Website for Moj fit
-
URL: www.mojfit.com
Technologies used: Wordpress, PHP, MySQL
Developed in: 2010
Client: M FIT d.o.o.
Description:
Moj fit is a fitness and recreation center. They needed a basic presentation website since the previous one was over 7 years old.
System
We used the latest WordPress version with a few addons and a premium theme.
- Presentation Website for G-Stanič
-
URL: www.gstanic.si
Technologies used: Wordpress, PHP, MySQL
Developed in: 2009
Client: G.STANIČ-SVETOVANJE d.o.o.
Description:
The client was looking for an inexpensive presentation website for their company.
System
We used the latest WordPress version with a few addons and a basic theme.
- Presentation Website for MIROR d.o.o.
-
URL: www.miror.rs
Technologies used: Wordpress, PHP, MySQL
Developed in: 2010
Client: MIROR d.o.o.
Description:
MIROR provides logistics and civil engineering services. They needed an affordable and simple presentation website.
System
We used the latest WordPress version with a few add-ons and a basic theme.
- Sales Website for Zavod mladi podjetnik
-
URL: mp-racunovodstvo.si
Technologies used: Wordpress, PHP, MySQL
Developed in: 2010
Client: Zavod mladi podjetnik
Description:
Zavod mladi podjetnik offers special prices for accounting services for it's members. This site gives detailed information of what customers get for the price and why it's a good choice.
System
We used the latest WordPress version with a few add-ons and a basic theme.
Consulting
- Plone Cloud Deployment Consulting for Termitnjak
-
Technologies used: Buildout, Supervisor, z3c.recipe.crontab, Nginx, CentOS
Executed in: 2010
Client: Termitnjak d.o.o.
Description: Consulting and training for deploying Plone sites to cloud servers.
Full text:
Client wanted to migrate their sites from conventional shared Plone hosting solution to affordable dedicated servers. Cloud servers were the best choice based on what they wanted. We prepared a detailed guide on how to setup a CentOS cloud server for running Plone, how to migrate data to the server and how to handle domains and DNS. We gave additional input for their specific use-case and helped them achieve a successful migration.
- Databases Consulting for Labena
-
Technologies discussed: SQL, MySQL, PHP, DNS, SSL, hosting, networks, security, password managing
Executed in: 2010
Client: Labena d.o.o.
Description
The client was looking for a well-rounded introductory course in some of the commonly used technologies in the IT world.
The client wanted us to introduce four of his employees to the basics of databases, web applications, network infrastructure and general IT-related security. The course was carried out in tho parts.
In the first part we explained the general structure of a relational database (tables, relations, indexes). After the theory was explained attendees did some interactive exercises. With the help of the web interface phpMyAdmin we created a new database from scratch, built its schema and then performed some data queries on it. After that we learned how to export databse to a file and how to restore database from the same file in case a server crashes. On top of that we briefly discussed how web applications use backend databases to provide dynamic content to website visitors.
In the second part we learned how to make a web application "visible" on the internet - one must open a hosting account and register a domain. We explained how DNS records need to be updated and how the DNS lookups and network routing are performed. At the end we looked at some of the most common IT security mistakes companies do and gave practical advice on how to avoid them.
Other
- Logo Auctoning for Agrologistika
-
Executed in: 2009
Client: Agrologistika d.o.o.
Description
We've been hired to "crowd-source" the devleopment of a logo for new company Agrologistika. We've done project specifications, published the contest on one of the main crowdsourcing websites for deisgn, submitted feedback to designers and in the end showed the client the best picks.
- Security hardened presentation website
-
Technologies used: Nginx, CentOS, iptables
Developed in: 2010
Client: ŠOU Ljubljana
Description
ŠOU needed a simple website to promote student demonstrations in Slovenia.
In the recent years they had problems with attacks on similar sites so the highest priority was to ensure high availability.
We configured a stripped down CentOS instance, manually compiled Nginx with custom header strings and added some booby-traps for script-kiddies. Linux's default firewall, iptables, was used to deny access to non-authorized persons.
Access to the content of the website was protected with a personal key that each of the content managers received on a USB stick.
During the 4 week period before the demonstrations, the server didn't have even a single minute of downtime and have repelled all security breach attempts.
- Sales Website VarenSplet.si
-
URL: VarenSplet.si
Technologies used: plain HTML/CSS, Nginx
Developed in: 2009
Client: Own
Description
A classic sales website, taking inspiration from sales letters. It's a long 1-page website with pitch, quotes, testimonials and frequent call-to-action.
System
This is a simple HTML/CSS only page to ensure ultra-fast loading and low resources consumption.
Deployment
Since it's just a bunch of HTML/CSS files and images, we deployed this site on a general purpose server, alongside other similar projects and files.
- Proof-of-concept application for Balanced Scorecard Method
-
Technologies used: PHP, MySQL, XHTML, CSS, Javascript, Apache
Developed in: 2008
Client: Jože Benčina PhD is an assistant professor at the Faculty of Administration in Ljubljana
Description
Balanced Scorecards is a strategic performance management tool, which is used to measure efficiency of an organization not only in the financial sense, but also from the perspective of the so-called soft categories (employee happiness, company's public image, etc.). To demonstrate the usefulness of the BSC approach in assessing organizations, our client needed a prototype application for his research work. We developed this prototype using PHP and MySQL.
With the prototype application one was able to define a new organization and its internal hierarchical structure (various departments within the organization). After the structure was defined, a user could create many different types of scorecards and attach them to various departments. Based on these scorecards an application would then calculate the organization's score starting at the bottom of the department hierarchy. A user could then easily see, which departments do not perform as well as expected (and why) based on the criteria predefined by scorecards. And locating a problem is the first step towards solving it.