Here's an angular project I was working on sin early 2014.. It is a simple Reddit clone where users can post links to websites, vote on those links, and comment on them. It was built with Angular, bootstrap, and firebase (along with the angularfire library) as the data store.
CLICK HERE to see the app (register and login to utilize functionality)
Here's what the firebase data looks like :
Currently, users can:
- See all posts when not logged in (but no posting, voting, or commenting)
- Click post comments & view
- Click on user name to see user profile and all of that user's associated comments and posts
- Register as a new user
- Login as an existing user
- Post new content (when logged in)
- Comment on a post (when logged in)
- Upvote or Downvote a post (when logged in)
- Authentication - show/hide views and functionality based on authorization
- Responsive - using bootstrap makes it easy
- Voting - persistent voting - votes stored in db. Front end responds in real time to votes. When you vote, it is bound the the firebase DB and updated in real time.
- Angular directives, filters, services, and controllers - all of these are covered.
- Data store - cloud-based RESTful API (firebase) - the interaction between the anglular app consists of 3 way binding using both $http and $resource in angular.
- Real time features enabled using websockets
- Angular JS - used for data binding, MVC structure, and general goodness
- Yeoman - scaffolding platform to quickly build out app with packages
- Bower - keep dependencies organized and updated
- Grunt - build automation
- Fix profiles showing empty comments for old/deleted comments
- Add algorithm to push popular posts to top of page
- Pretty up the presentation
- Add some stats/charting
- Add unit tests
- Add e2e tests
- Pagination for posts view