Mindfire has deep experience developing Perl, Python and Ruby applications (including Ruby on Rails - RoR). We describe some of these Perl, Python and Ruby/RoR project experiences below, and will be glad to share our expertise in detail with you.
Data Exchange between DMZ and LAN
Data exchange and data management solutions provider
Industry:
Automobile Manufacturing
Technologies:
Python, Windows 2003 server Active Directory, SOAP, XML, Webservices
Implemented several windows services from scratch. The purpose of the services is to allow exchange of data between the supplier portal, which resides on the DMZ, and the LAN in a secure and restricted manner. The Supplier Portal is defined as an external gateway to the internal application server.
Key features include Active directory integration for user authentication, synchronization of user attributes and sending notification email to administrators, SOAP web service API calls to synchronize the two systems, Secure FTP transfers. Advanced logging system which logs errors, warnings, information and debug messages to a log file or windows event viewer based on user settings. The services are fully customizable using ini files for configuration.
Web portal application
engineering data management and data exchange solutions
Industry:
Automobile Industry
Technologies:
Python, JavaScript, HTML, ASP, MSSQL server 2005, Windows 2003 server, IIS 6.0, SOAP, XML, Webservices
This application provides a secure and simple environment which allows authenticated Supplier Users (i.e. customers and suppliers) to exchange (upload and download) files with users on the manufacturer's LAN.
Key features implemented were Excel and .csv report generation based on user defined filters. Export and import data facilities for specified file formats. Implemented a SOAP server to expose API to the communicating systems. Added CMS system for administrator to set preferences, manage users and define file types for export and import.
Data exchange software support
Data exchange and data management solutions provider
Industry:
Automobile Industry
Technologies:
Linux, Apache, Postgre SQL, OO Perl, HTML, CSS, Javascript, GIT, Bitkeeper
Implemented multiple web forms as an additional module to an existing secure data exchange application that allows for suppliers to upload form data from a csv file and/or enter data and download it in csv format or save to the server. The forms are dynamic and implement dynamic creation/deleting of rows using Javascript.
Customized entire application look and feel so that it can be customized for new clients that purchase the product. We provide software support for the product.
URL scraper for movie trailers, upcoming movies
Web/Mobile Applications Development
Industry:
Information Technology
Technologies:
Ruby on Rails, Linux
Implemented several ROR scripts to extract URLs from pre-defined set of websites. The data collected allows creation of several tab separated adn csv files containing a list of trailers, now playing, in theaters and upcoming movies. Used csv, open-uri and net/http to implement parsing URLs. The scripts are scheduled as cronjobs on a Linux server.
For more Ruby on Rails projects please click here
Python Django Application Development
IT Services Provider
Industry:
IT
Technologies:
Django, Python, FeinCMS, Linux, Apache, mod_wsgi, MySQL. .NET Nuke, DNN, SQL Server 2005, BMEcat - eBusiness Standardization Committee
Designed and implemented a replica of a DNN based CMS application that allows Suppliers to enter and track product documentation and related data. Implemented product attributes based on BMEcat.org product specification guidelines. Implemented a script to migrate data including user roles and permissions from DNN to FeinCMS. Implemented a custom module using the django framework that is also used by FeinCMS. The module allows for several types of users and provides role based access to certain parts of the module. The user roles and permissions were managed by FeinCMS.
Proxy Server
IT Services Provider
Industry:
IT
Technologies:
Webservices, XML, json, REST, Django, Python, mod_wsgi, linux, apache, ssh
Implemented web services using the django framework to act as a proxy for iOS native clients. The application fetches data from remote web services and filters out data for an iOS client based on filters specified by the admin. The services implement disk based caching to speed up response times to the iPhone client. The services use JSON to keep response size small. We configured and set up the server and the application.
Porting Modules from PHP to OO Perl
Internet Marketing Company
Industry:
Information Technology
Technologies:
OO Perl, PHP, Linux, Debian, SSH, Shell Scripting, jQuery, AJAX
Designed and implemented porting of a tool from PHP to OO Perl to find dead sites based on URLs and links uploaded by the user. The interface allows the users to upload a csv file with links and to optionally also enter extra URLs in a text area. The challenge was to process thousands of URLs in real time which was causing the existing module/script to timeout. We designed and implemented a solution using fake fork with Non-blocking system calls and Ajax that would allow the processing of all the URLs with real time notification to user's browsers with Perl backend and jQuery/Ajax for an UI notification.
Work Order Management System
Software Development Company
Industry:
IT
Technologies:
Ruby 1.8, Rails 2.3.8, jQuery, Sybase, Windows
Designed and implemented a Work Order Management System for small businesses where the customers (businesses) can assign work orders to employees. Each business has its own set of employees and the administrator for the business has the ability to create shifts and schedule employees and assign work orders to employees. The system also provides an efficient way to search and sort employees by work order and shift schedules. The application is a Ruby on Rails implementation that uses active scaffolding for the user interface and Sybase as the backend database.
Python/Django Application for a Yoga Center
Yoga Center Owner
Industry:
Hospitality
Technologies:
Python, Linux, Jquery, Django, Google Services Integration, Webservices, Git, HTML5
Implementation and maintenance of a web application that automates the work flow in a yoga studio. This application provides an intuitive unified dashboard for the receptionist to manage help-desk activities. It provides role based authentication, dynamic administration and interface for portable mobile devices. It provides easy management of flexible class based pass system. It has an accounting module to keep track of accounting operations in the studio and a module to manage inventory. There is a module for reporting which help in generating different kinds of reports and alllows for export in different formats such as html, csv and pdf. The system integrates with different 3rd party applications like google calendar for easy management of class and instructor schedules. Different html5 components were used for consistency among different computer platforms and portable devices.

Python Django based Job Portal Website Support Work
HR services, IT services provider
Industry:
Human Resources
Technologies:
Python, Django, MySQL, SVN, jQuery, PDF reports
Designed, implemented and fixed several processes and workflows on a Django Python based Job Portal. The application provides three levels of access and privileges for job seekers, employers and administrators respectively.
Employers are given an initial free trial period for searching resumes but once this expires they have to purchase subscription packages from the portal to continue resume search and posting of jobs which applicants can apply for.
Job seekers create/update resume on the site and apply for jobs posted by the employers. The Administrators can have different set of access privileges set to administer different activities in the portal.
The site also provides forums for discussions and Content Management System to facilitate administrator to create content for the portal.

Admin Tool for managing promotional games and viewing stats
Ads and Promotions through games/multi-site stats montoring
Industry:
Marketing/Advertizing Promotions
Technologies:
OO Perl, PHP-Custom framework, HTML Template Engine, MS Sql Server 2005, jQuery
Designed and implemeted an admin interface on an existing system for managing all statistics and activities of users participating in any competition being organized by a particular client. A client here is an entity that is identified on the web via a unique URL. The admin has three types of users that can login - super admins, client admins and sales rep admins.
br>
br>
Super admin has all the privileges such as managing all the users as well as other client information for any contest, while client admins have privilege only related to their own competition and users related to that competition. A sales rep admin has the least privilege and are able to just see the statistics flow.
br>
br>
The application is able to get all the information retrieved for the admin users such as number of users involved in a particular competition, scores of an user, ability to change their personal information, comparison of different competitions statistics, searching of any particular user in all the contests, creating and deleting a new admin and assigning their roles for different competitions (only for super admin).
br>
br>
Heavily used jQuery for rich user interfaces and converted existing perl modules to php counterpart. The code and db had to undergo revisions via scheduled reviews to be optimized for high traffic.

Agile Project Management Tool
Software Engineering
Industry:
IT
Technologies:
Django, Python, WSGI, jQuery, REST APIs, GIT, Web 2.0, MySQL
Designed and implemented features and enhancements on a popular Opensource Web app to manage Agile Scrum based projects. The scrum tools allow for creating and tracking user stories for a project. The application was built using the Django framework and we implemented REST API interfaces for other applications to interface with the system. Among features, we added the APIs for user project creation and management, user tasks and iterations management. The UI was enhanced using slick jQuery drag and drop interfaces and a basecamp style calendar was also implemented. Excel sheet based tasks can also be imported into the system and exported out of the system. The application allows users to generate reports and set up schedule for automatically generating them and sending emails. Both text and graphical reports can be generated.
Dashboard Application
Data Monitoring
Industry:
Data Monitoring
Technologies:
Linux, Apache, Mysql, Python, Django, Rsyslog, collectd, ossec, snort, whoosh, google charts
STONE SIM is a software system designed and implemented as a dashboard application to get system status of different systems deployed inside the LAN(we are still testing its functionality over the internet). It basically uses different well known open source applications to provide the system logs and other statistics. Then IDS tries to analyze those logs and statistics to get a sense of the systems. It also features application monitoring in which we monitor application logs using rsyslog on client side and send the to server using tcp where they are analyzed accordingly. All this data is represented in form of charts. We can also generate reports based on these logs and system statistics in pdf, csv and xls formats.
The main functionality for the system as follows:
- Gather system statistics of different host machines.
- Store system statistics in a centralized place
- Analyze system statistics and Logs
- Gather application logs from client systems
- Analyze these application logs on the server side
- Notify users if something goes Wrong
- Generate reports based on these charts.
