Final Project for WDI at General Assembly
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



ProDiary (short for Productivity Diary) is a MEAN stack web application I built for my final project at General Assembly.

It is a daily planner and task management tool that uses competition and gamification to encourage users to invest their time into more productive activities.

Users categorize tasks according to productivity level and the amount of time they intend to spend on them. Once completed, productive tasks reward users with a "money", while unproductive tasks deduct earnings.

Users can see who the top 10 users are with the highest earnings on the leader board.

The dashboard also shows users charts on how they have spent their time and the percentage of completed tasks.

This web application uses:

  • RESTful routes
  • CRUD
  • User authentication and oAuth


I used Trello for project management...

...and Moqups for wireframing.

##Technologies Used

  • MongoDB, Mongoose
  • Express
  • AngularJS
  • Node.js
  • Satellizer
  • Bootstrap
  • Gulp


This project was definitely the most challenging as I had quite a few setbacks.

###APIs Originally, I had two very different project ideas that required the use of third party APIs. However, after researching it became clear that the APIs I wanted to use could not provide sufficient or the required data. After losing a day of project time on research I had to come up with a new idea, which lead me to create ProDiary.

###Third Party Modules

I wanted to use a calendar interface for ProDiary so I installed the module ui-calendar. There were several problems with this as I could not edit or update tasks added to the calendar. After seeking advice from my instructor, we decided that given the limited time for the project, it would be best to abandon the module.

I then had to redesign my user interface and build it from scratch.

Given that I pretty much had to restart twice and had about three full days to crank out this application, I am proud I could deliver a finished working app.

##Additional Features

Due to the time constraints and setbacks the app is very simple and not as fully featured as I would have liked to make it. If I had more time I would have liked to add a few more features such as:

  • Week / Month view of activities.
  • More comprehensive statistical data on activities.
  • Custom task categories that users can assign values to.