To setup
- Install phoenix framework and its components including erlang, elixir, phoenix, nodejs and postgresql
- Download neo4j (community version) and start the database with
./neo4j-community-a.b.c/bin/neo4j console
To config
- postgresql: config/dev.exs, set
alter user postgres with password 'postgres';
for first time users in database command line - email: config/config.exs, using different adapters see here, currently using my mailgun sandbox
- arc: config/config.exs, using cloud storage see here, currently using local storage
- neo4j/bolt: config/config.exs, to reset neo4j password with command line: here
- localhost: config/config.exs, in endpoint configue:
url: [host: "localhost"]
To start your Phoenix app:
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.create && mix ecto.migrate
- Install Node.js dependencies with
npm install
- Start Phoenix endpoint with
mix phoenix.server
- Now you can visit
localhost:4000
from your browser.
Feature
- one comment can only be referred to one comment at one time using reply button
- message notification: post create or delete notification in friends (or strangers) homepage and news page
- message notification: homepage comment notification is done
- exception handling: comment or thumb on deleted post is prevented, re-delete post and comment is settled
To be done
- message notification
- exception handling
Bug to fix
- large image upload failure and image upload preview cannot be refixed
- user deleted misbehaviour
- unclear bolt_sip bug