Author: Christian Simon (simon@illucit.com)
Copyright: illucIT Software GmbH
Version 0.1 Alpha (In Progress)
FNB (Friday Night Beer) is a forum and social platform to communicate, plan events and share pictures and comments.
- Any OS with Java Support
- Java 1.8
- Lightbend Activator or SBT
- MongoDB
- Apache HTTPD or NGINX (Optional as Frontend Proxy)
- Install and start MongoDB Server
- Install Java Development Toolkit (JDK), at least version 1.8
- Install Lightbend Activator or install sbt (Scala Build Tool)
- Checkout FNB sourcecode to target directory
- If you want to override the default settings:
- Create file
conf/instance.conf
and insert the configuration:fnb.datadir = /path/to/datadir mongodb = { uri = "mongodb://mongohost:27017/mydbname" }
- The new application directory will be automatically created on server startup
- Create file
- Run
activator
orsbt
- Activator/sbt will download project dependencies
- In the interactive shell, execute
run
to start the Play application
The frontend uses Angular2 and is written in TypeScript.
To compile the project typescript files against Angular2, the packages from Angular2 (@angular/core
etc.) are required.
Install Node.js (including npm
) on your machine, go to the project root and run
npm install
The dependencies will be downloaded into a node_modules
subfolder, which will be used by the TypeScript resolution, but is in the .gitignore
file.
This will be done automatically via sbt
when the project is built.
- Scala Version 2.11.8
- SBT (Scala Build Tool) Version 0.13.12
- Play Framework Version 2.5.9
- ReactiveMongo Version 0.12.0
- AngularJS Version 2.1.2
- Bootstrap Version 3.3.7
- Diverse general libraries and utilities: jQuery, Guice, Guava, Joda-Time, Angular Add-Ons, Polyfills
- Frontend Assets for the Themes:
- Font Awesome
- FamFamFam Silk Icons
- Crystal Project Icons by Everaldo Coelho
- Version 0.1 Alpha: Basic Forum Features:
- Login / Logout
- List Forums
- Show Topics in Forum
- Show Posts in Forum
- Reply
- Start new Threads
- Register new users
- Basic Post formatting, e.g. bold, italic, lists
- Version 0.2 Alpha: Advanced Forum Features:
- Pin / Unpin Topics
- Close Topics
- Edit Topic Title
- Edit Posts
- List Users
- Change User Profile and Login Data
- View User Profile
- Create / Edit / Delete / Reorder Forums
- Version 0.3 Alpha: Configure Permissions:
- Include Concept of User Groups
- Add / Edit / Delete Groups
- Limit Forum Access to specific users/groups
- Limit Topic Access to specific users/groups
- Limit Forum / Thread Operations to specific users/groups, e.g. Create, Edit, Pin, Close etc
- Limit Page Access to specific users/groups
- Version 0.4 Alpha: Multimedia Suspport:
- Add Attachments to Posts
- Download Attachments in Post
- New feature "Media" for FNB
- Create multimedia collections, e.g for images or videos
- Upload multimedia files to collections, bulk upload for many files at once
- Access media collections and download files
- Restrict access to media collections
- Track number of downloads for each file
- Connect media collections with forum topics, so comments to the collection can be made
- Version 0.5 Alpha: User Experience Improvements:
- Optimize Stylesheets and behaviour for mobile clients
- Add Cordova support to enable the creation of mobile apps
- Track visited topics / posts for each user, highlight topics/forums with new content on each visit
- Include search for posts/topics
- Version 0.6 Alpha: Chat:
- Include Websockets-based Chat in site
- Due to AJAX navigation always visble when opened
- Use chat for PM-like communication between 2 users
- Add / Edit / Delete chat rooms
- Limit access to chat rooms to specific users/groups
- Version 0.7 Alpha: User settings:
- Themes support
- Languages support
- Configurable per user
- Global override supported
- Version 0.8 Alpha: Events:
- New feature "Events" for FNB
- Plan future events with date/time and topic
- Poll about date/time supported, "Doodle"-like
- Users can invite others to events
- Users can indicate if they plan to attend events
- Edit / Delete events
- Events can be connected to forum threads, so comments are possible
- Events in the past can be connected to media collections
- List of attendees can be given for past events
- Version 0.9 Alpha: API support:
- Public REST API to support third-party tools
- Public API for TapaTalk Forum App
- Content-Pages visible on the site, e.g. imprint or forum rules
- Limit Content-Page Access to specific users/groups