Jump to content

What's you biggest project?


ApocalypeX

Recommended Posts

My largest project was a CRM. It handled Accounts, Contacts, Calendars/Scheduling, Sales Opportunies, Insurance Policies, Franchise and Client contracts, and Inventory.I used ASP.NET/AJAX and SQL Server.I found most of the project very interesting and fun to work on.I part I disliked the most was working around ASP.NET and it's WebForms model. There was a lot of repeated code and it made it hard to follow best practices and was a nightmare to write unit tests for. This project was what got me looking for an alternative. Now we use ASP.NET MVC and for personal stuff I use PHP or Python.

Link to comment
Share on other sites

So far, it's been my XML_XSLT2Processor library, part of my signature... or at least that what I'd guess, because it's the only public thing I have that's meant for general use. Other things I've done were for specific purposes and/or are not much of a big deal... Yeah, it's hard to pin a project as a "big" one when none was meant for thousands or milions to use.I used mainly PHP, but I had to use some JAVA eventually. Some C# may occur in the future. Eventually, I started using PHPUnit to do testing on the library. I've started to turn into Microsoft since then - much less frequent releases, but each with a ton of changes.The first version probably took a week or so. The project is still not totally "finished", but it's in a working state at least.I guess the most enjoyable part was when first creating the thing, because it was thrilling to get some XSLT 2.0 working in PHP in such a "fancy" fashion. Or perhaps it's running the PHPUnit tests for the first time - like discovering a new horizon of opportunities, just playing around with the code, seeing what breaks what. I don't know... both of those were really fun.The least enjoyable part... Perhaps I'm currently in it... I'm rarely working on this, because I want to do a major rewrite, but every time when I try to "architect it up" (i.e. make up the model), I hit a new roadblock. The fact that PHP doesn't have multiple inheritance is really limiting. I could've used it on several places with this.

Link to comment
Share on other sites

Actually I'm finishing up a project for work over the weekend that is going into QA sometime this week. Although my line of work is in interactive television, the language for our environment happens to be in Javascript. It's an application for Cablvesion (a cable tv/internet company) where people can "bookmark" their favorite TV channels and view what's on them at any one time, and also displays guide data and for DVR subscribed users, lets them schedule recordings.I was the only developer working on the front end, and I've been working on the project for about 3 months. It involved a lot of Javascript, naturally, AJAX, interpreting XML, Photoshop work, some database management, and a lot of planning. I learned about namespacing, error handling, application architecture, and the project life cycle. I even made an API for our environment to handle making all kinds of DVR calls that will soon go in our library, so that was a good feeling. It's been a pretty intense experience, but hopefully it will be in production by the end of the year. phew! :)

Link to comment
Share on other sites

A web app that lets teachers record (and calculate) student grades in a spreadsheet and upload the data to a server as an XML document. Students can access their personal grades, and teachers can access grades through a file browser.It uses HTML, XML, CSS, JavaScript, SQL, PHP, AJAX, and I made/edited all the images in Photoshop.I'm not a full-time developer, and I had other web projects to work on at the same time, so I can't tell you how many hours it took me. I finished about a year after I started. Developing algorithms for computing the grades took days.

Link to comment
Share on other sites

My first big project was an intranet application to allow my boss to run his company better, things like project management and tracking, billing reports, employee timesheets, sales projections, etc. For that one I used Javascript ASP classic with SQL Server. The main application at that company is an online learning system, like an online university. I took that over around version 6 when it was written in VBScript ASP classic, and for version 7 we got funding for me to redesign and rewrite it, and I implemented it using PHP, MySQL, and the ExtJS library for the interface elements that communicate with the server through ajax. The LMS7 system can track online training courses, usually done in Flash or Javascript, it has support for scheduling students for actual classroom courses and webinars, and admins can create online tests and surveys. It also supports media types, so people can upload video or audio and it will play in a Flash player. It supports the AICC and SCORM specs for tracking online training, and includes an API for third-party systems to exchange data. There is an email engine where you can define rules for the distribution lists and things, and several reports and other tools.LMS7 represents around 4,000 hours of work to get it designed and developed to where it is now, and right now we probably have a total of around 200,000 students using different installations for several well-known corporate and government clients. We've gotten pretty good feedback from it, the system that I basically designed and built myself has beaten competing systems by Oracle and Saba in bids. Of course, since I started with versions 5 and 6 I can't take credit for all of the features, but with the business model the company uses for development, all of the features the LMS supports have been requested and paid for by clients, so there's really nothing in it that someone didn't specifically ask for.It's been a lot of fun to learn and use the ExtJS library, but there are still a lot of shortcomings with the technologies and modern browsers. While the Javascript speed of the system is reasonably fast across all modern browsers, the rendering speeds are very different. IE8 is one of the faster browsers with regard to rendering. The LMS has several interface components like trees and grids, and to expand all of the nodes in a tree where the nodes are up to 3 levels deep and total around 600, it took Firefox about 13 minutes of CPU time to finish rendering that and it only took IE8 about 7.5 minutes. So, we're looking at a lot of limitations with regard to how much data we can show on screen at once and still keep it fast, so for a system with no upper bound on how much data you can add, there are some challenges in designing the interface elements so that the system remains responsive regardless of how much data is there. Our client base is also pretty diverse in their use cases, so we've had to make sure that this one single system can be configured how any of our clients wants to use it. This includes things like allowing the admins to change settings to control how the student interface looks, or change the labels on menus and buttons. A student's list of content may be shown as a tab panel where each tab is a category of training content, and you can scroll the tabs left and right if there are too many, or maybe the tabs will wrap instead of scroll, or maybe the categories are displayed as a vertical list of panels that you can expand and collapse.Another difficulty was the email system, the first time one of our larger clients sent emails to around 50,000 people it nearly brought the server down and there were several problems. There are a lot of problems with large systems that don't become apparent when there isn't much data there. Another one is the database system, the MyISAM storage engine for MySQL will lock an entire table when you read or write it, so that becomes a problem when admins are running reports that may take a while to finish, and students are taking training and trying to record their resutls. The first month we went live there were a lot of problems with database timeouts, and for some of them the solution was to switch the table to use InnoDB instead of MyISAM to avoid table-level locking, and for other issues we needed to duplicate the tables so, for example, admins can run their reports out of one set of tables, while students are updating their records in another set. The tables get synchronized every night or manually by the admin, so the reports are only current as of when the records were last updated. That may not be ideal, but at least there aren't any locking issues.Currently, in addition to LMS7, I'm also developing my own software to sell, which is a support or help desk application, where customers submit trouble tickets and the tickets get managed, assigned to technicians, inventory and files get tracked along with the users or equipment they go with, etc. I've been working on that for a little over a year, and we're getting ready to start the first real live test of it with actual clients. So, that should be fun.

Link to comment
Share on other sites

I've been working on a quoting system for my place of employment for a little over a year now. We are a skylight manufacturing company, and so this system will generate a price quote for a skylight system based on specs we receive from customers.The system uses PHP, JavaScript, and MySQL to accomplish this task. The user interface allows our estimators to enter in the skylight information, such as sizes, quantities, parts to be used, and other special requirements, and the system will automatically calculate exactly how many parts of what length are needed to assemble the skylights, how much weatherstripping is needed, how many square feet of fiberglass sheeting is needed, etc. It even gets right down to how many screws/bolts and how much glue will be required to hold the thing together.The system also includes a database manager which allows admins to change values stored in various tables (these values are used in calculating part lengths, glue, etc.) and will then automatically log the changes in order to maintain visibility on exactly when information was changed, what it was, and what it is now.The part that has been the most fun and rewarding is just the whole learning process in itself. I've learned more about PHP and JavaScript working on this project than I ever thought possible. The little things, like finding out about AJAX and successfully implementing it or figuring out how to encode PHP arrays into JSON objects or even just learning how to write JSON objects.The hardest part for me, I think, was the database design. I have a very hard time figuring out what tables I need and what fields should be in what table, or what information do I really even need to store. Bringing the whole database together in a way that's efficient and makes sense is a complicated process for me. I think I've changed the design about a dozen times during the development process!

Link to comment
Share on other sites

I couldn't resist sharing someone else's REALLY BIG PROJECT.
Warning: this comic occasionally contains strong language (which may be unsuitable for children), unusual humor (which may be unsuitable for adults), and advanced mathematics (which may be unsuitable for liberal-arts majors).
killer, :)
Link to comment
Share on other sites

Guest Akehisone

Hi..unlike everybody else here, I'm just a newbie...so my biggest project is learning the basics. I was thrilled finding W3Schools, still am..., also thankful for all the W3Schools' geniuses who are willing to spread the good to others.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...