Active website: The Tiny Cakery
I’m developing this website for my baking business.
- Product display with filters
- Ordering form
- Admin side for management of products, customers, and orders.
Technology: Laravel, PHP, MySQL, HTML, CSS, SSH, bash
Ongoing promo: TNT Sure Panalo Wheel
Promo for Smart and TNT subscribers where reloads earn them “spins” on a virtual wheel for prizes.
This is my most challenging web project so far, mostly because of real-time processing of reloads by subscribers of TNT. Imagine how many people all over the Philippines reload per minute. I was responsible for suggesting many of the solutions to problems encountered during campaign support.
When we were supporting this project, the registered users were at least 4 million, and it gave our database a great burden. We developed scripts that processed numerous amount of reload data and converted those into “spins”. These “spins” give users a chance to spin the virtual wheel, and if the wheel magnifier stops on a prize, the user wins it.
We kept a very close watch on winners of major prizes, to make sure no mistake in awarding happens. And because we did a great job developing TNT Sure Panalo Wheel, all awarded prizes were legit.
- 4 million users
- Processing of reload data from landing server of SMART/TNT
- Processing of virtual wheel’s results
- Pool of prizes
- Prize awarding
- Text blast to users (via SMS API)
- Winners display
- Profile page with “change password”
- Graphical wheel
- Display of available prizes
What I learned/gained from this project:
- Felt more comfortable in Unix environment
- Running queries via SSH command line
- Handling large amount of data from millions of users from the country
- SQL query optimization
- Securing the prizes of promo site where about a hundred players “spin” the virtual wheel at the same second
Ongoing promo: LoadPanalo
An gaming website with matching engine.
- PBA landing page revamp on PinoyExchange. Coded from scratch based on given mockup.
- PBA forum section revamp on a PinoyExchange. Tweaked style to match mockup.
- Supported and maintained PinoyExchange website.
PHP Framework: CodeIgniter
I worked on mostly the admin side for this Facebook app promotional game similar to 4 Pics 1 Word
We ran an online raffle promo project for a telecommunication company that involves a Facebook app game (similar to 4 Pics 1 Word). The flow is as follows: User registers contact details in the app, as required by DTI, and every week, are allowed to play the game. About seven sets of pictures are available per week, and when a user answers all correctly, he/she earns a raffle entry. Every week we send the client a list of registrants. They send us back a file which lists down number of raffle entries that should be added for corresponding users based on their usage data as the company’s subscribers. We then add raffle entries per user based on this file. Raffle draw is also done weekly.
My contribution to this project was the admin side that allows the following:
- Adding and editing of sets of available words and pictures
- Export registration details
- Update raffle entries
- Viewing of registrant details and the number of raffle entries they have for each week.
In addition to admin side functions, I also coded a function that allowed our game to automatically change available set of words and pictures every week.
This was a prototype for a web app that let users register for an airline’s promo by entering their ticket reference number. Booking Reference Number is entered to a form, and the system converts it into raffle entry. Features:
- Registration and login
- Form for entry of Booking Reference Number with Photo of Boarding Pass or E-Ticket
- Conversion of Booking Reference Number into electronic raffle entries
- View that lists user’s raffle entries
We developed an EDM (Email Direct Marketing) that allows client to create send email invitations for events.
PHP Framework: CodeIgniter
The system has a “Names Database”, which contains data about possible recipients of event invitations. I developed the following features for the admin site:
- Add a Name
- Add Names by Batch (import from Excel file)
- Edit Name
- Delete Name
An existing website had the following problems:
- Plain text passwords were being saved to database upon registration
- “Forgot Password” module was sending plain text password to users via email
- Non-registered accounts who use “Forgot Password” were led to blank page instead of error page
- Implemented SHA256 on passwords prior to saving to database
- Removed password that was included in emails
- Added condition to check if user trying to use “Forgot Password” is registered. If not, user is redirected to Email Not Found error page that I created.
An Adobe website needed a “Customer Stories” section and I developed these features:
The Adobe website needed a “Customer Stories” section and I developed these features:
- Story and video screenshot submission, with preview and edit options
- Display of submitted and approved stories on the homepage with “sort by month and year options
- Admin Area with options to approve, disapprove, delete, or set as Site of the Month
As an intern, I was tasked to add the following features to an existing customer portal:
- “Sort” and “Delete” functions for tabular data (PHP, MySQL)
- “Edit Profile” feature
For Web Programming class
The “client” for this project was a group mate’s uncle, who was owner of a business who needed such system
- Add, update, and delete Customer records
- Add, update, and delete Product records
- Add, close (mark as paid), and delete Sales
- Sales Archive
- Print Invoices
- Print Sales Archives
- Inventory – number of products in stock decrease as you add a Sale
For Flash Development class
MissTerry Scenes is a Flash game where the main character is Miss Terry, a detective.
- Player registration
- Player login
- Saving of scores for Hall of Fame
- Sending of all form data to admin’s email address using PHP
- Flash-based file uploaders using Plupload, an upload handler
We added features to a website of mail2fax-fax2mail service.
- User registration (input fields, validation, and email address verification)
- Password recovery module (sent temporary password and “reset password” link)
- Fax numbers management (upon login, user may add, edit and delete numbers) subject to approval of sales team.
Types of websites:
- Numerous English and French client websites (layout design, PSD slicing, HTML, CSS, PHP, WordPress)
- Numerous Corporate websites, some with International and country-specific divisions like .com, .ca, .co.uk, and .co.nz (PSD slicing, HTML, CSS, PHP)
- WordPress Site with E-Commerce Plugin. We built a WordPress-based website with E-Commerce plugin to let users order phones and services from the company. After checkout, the Sales Team are in charge of phoning the users to complete the transaction.
- Conversion of PSD mockups into HTML, into WordPress themes
- Setup of French version of web pages (Using multilanguage plugin)
- Setup of E-Commerce plugin to allow users to add products & services to cart, then checkout
- Setup “custom post types” in WordPress