phxBB is a re-imagining of classic message board software such as phpBB and vBulletin. It uses Phoenix LiveView to establish a persistent WebSocket connection with each user, providing real-time updates, navigation, and interaction without any full page reloads after the user is logged in.
- Real-time content updates via
Phoenix.PubSub
- Upload your own image for a user avatar via AWS S3
- User & administrator authentication
- Email verification via
Swoosh
+Mailjet
- Live form validations
- All site navigation (minus login) done via LiveView patching - no page reloads!
- Markdown parsing in posts with
Earmark
+PhoenixHtmlSanitizer
- See who's online with
Phoenix.Presence
- Topic listing now distinguishes between read and unread topics
See CHANGELOG.md for the full list of changes
You can try a demo of phxBB here! Note that you must register and login before making any new posts.
To start a local phxBB server:
- Ensure that your system has Phoenix and its dependencies installed
- Install app dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Install Node.js dependencies with
npm install
inside theassets
directory - Set environment variables
AWS_REGION
,AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,MAILJET_API_KEY
, andMAILJET_SECRET_KEY
- Start Phoenix endpoint with
mix phx.server
Now you can visit localhost:4000/forum
from your browser.
Ready to run in production? Check out the Phoenix deployment guides.