david-delcampo / telegram-server

Telegram - Back-end (Node.js, Express, MongoDB) API for Ember Frontend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Telegram - twitter like app built with Ember CLI Server Side Repo

Note

Tech Stack: nginx, node.js, mongoDB, passport, mailgun
Development: Virtualbox Ubuntu 64bit
Deployment: DigitalOcean Ubuntu 14.04 64bit

Todos:

Step1

Step3 - Passport Authentication 2

Step4 - MongoDB

Step5 - Connect-mongostore / Code Design

if(req.user.id === req.body.post.user) to if(req.user._id == req.body.post.user)
req.user type is object (mongo objectID), but req.body.post.user type is string

  • Post Schema issue https://gist.github.com/yhagio/5f41cd1f15a67c3d7053

  • Code organization

  • Changed back the Mongo ObjectID to username to simplify the process. Ember finds user by user_id = username.

  • Fixed persistence issue: moved the entire routes code AFTER config

  • Fixed PostsPage issue (username is missing):

1. Check the console log on browser
2. Network -> response
3. Find which api route in the backend handles it
4. Put console.log() in the backend to make sure it returns the correct response.
Keys: ember styled object? Array/Object?

Step-6 - Followership

Follow others: gists - https://gist.github.com/yhagio/605e5baace6854b1ec68

  • Follow function
  • At URL users/:username/followings Returns the following users of the user(:username), similar for /followers

Step-7 - SecurePass

  • Encrypt / Decrypt password on Register & Login using jQuery MD5 on front, bcrypt on back-end.
  • Send Email with new password using Mailgun
  • fixed some issues for displaying posts above gists
  • User can reset password / sent by email (Mailgun) gists
  • Securing password: commits
  • Refactoring :Focus on Model + DB Connection: gists
  • nlogger debug
  • Refactor: GetFollowers/Followees in userOperation.js gists

Step-8-sideloaded branch

  • sideloaded relationships(posts & users): gists

retweet (repost) branch

deploySet

userAccount

  • User can change their information (except avatar yet) commit

Additional Features to implement

  • User can set his/her profile avatar (Upload and save it)
  • User account page (username, email, full name, password, account deletion)
  • Notification of new post from following users
  • Private message
  • Hash tags
  • Search (users & posts)
  • Load posts button (skip / limit)
  • Link / Share posts

userAccount

About

Telegram - Back-end (Node.js, Express, MongoDB) API for Ember Frontend


Languages

Language:JavaScript 100.0%