Project
View Panel
Status: Archived (historical project)

Hi and thanks for checking out View Panel.
This was the first big application I ever wrote. I started it as a teenager around October 2009, and it slowly mutated from a basic news posting system into a full blog package with an admin panel, themes, multiple blogs, and user accounts.
It’s a piece of history now. The codebase is old, rough, and absolutely shows its age, but this is where I first learned how software actually fits together.
Project links
- GitHub: https://github.com/wilderyns/viewpanelblogger
- Original Google Code archive: https://code.google.com/archive/p/viewpanelblogger/
What it did
- Run multiple blogs from one panel
- Create, edit, and delete posts
- Configure blog introductions and sidebars
- Support themes (including a theme manager and theme metadata in MySQL)
- Support user accounts and rank/permission checks
- Include plugin and module scaffolding
- Ship with an installer that creates the initial database schema
How it was built
From the repo/changelog, this was very much a classic PHP/MySQL app for that era:
- PHP 5 codebase with server-rendered pages
- MySQL via the legacy
mysql_*API - Cookie-based login flow in the admin panel
- MySQL-backed entities for blogs, posts, themes, users, settings, sidebars, and uploaded files
- File + database driven theme/plugin structure
- Small JavaScript and CSS layer (including jQuery-era assets)
Structure
Most of the system lives under admin/:
admin/install/sets up tables and initial settingsadmin/lib/pages/contains panel viewsadmin/lib/scripts/handles actions like posting/editing/deletingadmin/lib/functions.phphas shared utility and blog rendering functionsadmin/themes/holds installable blog themes
This project gave me my first proper exposure to:
- Feature growth over time
- Backward compatibility pressure
- Data model changes (for example, moving more blog state from files into MySQL)
- The fact that “it works” and “it’s maintainable” are not the same thing
Why I still keep it online
I keep View Panel online because it’s the start of all this for me.
It’s not modern best practice, and I’d build it very differently now, but it taught me product thinking, user flow, data design, and release iteration the hard way.
Messy? Yes. Useful to keep around? Also yes.