Work

My Home Inventory

Technology Used

Server:
Node, Express, Passport
Client:
React, Redux, React Router
Styling:
Tachyons
Database:
MongoDB, Mongoose
Testing:
Mocha, Chai
Services:
AWS S3, Google Authorization
Deployment:
Heroku, Travis, mLab

Use this app to keep track of the items that you own. Your home inventory can serve as documentation of asset values for insurance coverage and claims and for charitable contributions. Alternatively, use the app as a wish list of items that you want to purchase or receive as a gift. Or if you’re a follower of the voluntary simplicity lifestyle, use the app to become more aware of how little you own and the future purchases you want to avoid.

App features include category filtering, custom categories, image uploading, and personalized inventory accounts via Google authorization.

A more perfect union:;
A curated collection of speeches by President Obama

Technology Used

Client:
React, Redux, React Router
API:
WordPress Rest API
Testing:
Mocha, Chai
Deployment:
Heroku, Travis

President Obama is one of the finest public speakers and writers of this generation. This site allows users to search and view a curated collection of speeches representing some of his best work, where he inspired us and crafted deft arguments for making our union more perfect.

This site was created with React and the WordPress REST API. The primary advantage of using React with the WordPress REST API is that the site, a single-page application, does not have to query the WordPress database each time a page is loaded. As a result, the site will respond more quickly to user interaction.

Clinton vs. Trump —;
A 2016 Presidential Campaign Finance Comparison

Technology Used

Client:
jQuery, Chartjs
API:
ProPublica Campaign Finance API

Use this site to compare selected campaign finance data for Hillary Clinton and Donald Trump. All data was accessed using ProPublica’s Campaign Finance API, which in turn retrieves campaign finance data from the US Federal Election Commission (FEC).

Candidates are required to file campaign finance reports for each month by the 20th day of the following month. For example, candidates must file July 2016 reports by August 20. Because reports are filed electronically, this site will automatically update once candidate reports are filed with the FEC.

Node LMS

Technology Used

Server:
Node, Express
Client:
jQuery, SimpleMDE Markdown Editor
Database:
MongoDB, Mongoose
Testing:
Mocha, Chai
Deployment:
Heroku, Travis, mLab

This is an MVP for a Learning Management System (LMS) that makes it easy to create a sequence of lessons or steps for a single course or assignment. It’s built on Node.js, Express.js, and MongoDB and supports Markdown, which means that it can be used to present most types of content.

It’s not intended to match all of the features of LMSes such as BlackBoard, Desire2Learn, Moodle, et al. So you won’t find things like a gradebook, video conferencing, or Turnitin support. But sometimes having so many features available can be intimidating for some professors and instructors to use.

Instead of trying to do everything, this Node LMS aims to do one thing well, and that is to make it easier to create and present your lesson content and be an effective supplement to your organization’s existing LMS.

About

I’m a web developer who works with Node, Express, React, and WordPress. My web development journey began when I took a web development class as an elective while in graduate school at American University, where I earned a Master’s of Fine Arts (MFA) in film and electronic media.

Today, as luck would have it, I teach that same web development class for the Film & Media Arts division of the School of Communication at American University; I’ve taught the class since 2010. I also teach in the undergraduate Business & Management program at the University of Maryland University College.

Edwin Mah

Contact

* Required