PhillyPham
URL: http://www.phillypham.com/
By Philip Pham
This blog itself was quite a project. It's a simple create, read, update, delete (CRUD) application, but I chose to use low-level technologies and frameworks like Node.js and Express. Eschewing any libraries, I wrote much of the frontend in pure JavaScript, too. I also took testing very seriously and wrote hundreds of unit, integration, and functional tests.
The tests were tedious to write at times, but it did make iterating much easier. Some packages that I made significant usage of are
- Mocha for running tests
- Sequelize as an object-relational mapping (ORM)
- Chai for assertions
- Sinon for stubbing methods in tests
- Selenium for functional tests
- Passport to handle logins and registrations with strategies
- Jade for templating
- Bluebird for promises, a new ECMAScript 6 (ES6) feature
I also wrote a post about how I implemented comments here.
Here's a post on the CSS drop down menus.
Here's another post on how I implemented Full Text Search with PostgreSQL.
The code for can be found on GitHub.