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.confand 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
activatororsbt- Activator/sbt will download project dependencies
- In the interactive shell, execute
runto 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