Welcome to the Frenetic Forum, built in ASP.NET Core MVC!
If you're seeing this, you're probably horrendously lost.
At current stage, FreneticForum is Copyright (C) 2016-2025 FreneticLLC, All Rights Reserved.
Licensing is likely to change in the future if we actually end up using this.
Early development. Nothing is remotely ready to use!
- Create, setup, and reasonably secure a MongoDB server instance.
- You will need a (non-admin) user with
readWriteaccess to a single db.
- You will need a (non-admin) user with
- Install .NET Core CLI.
- Install NPM (Node Package Manager, generally included with package labeled like
nodejs, may require special install steps - google helps!). - Install NPM package
gulpand related (at a command line,npm install gulp rimraf gulp-concat gulp-cssmin gulp-uglify gulp-rename).- Probably need to
npm install -g gulp(with the-gflag) as root.
- Probably need to
- Probably blacklist the launch port (which is
8050by default) to be disallowed for everyone but you - for safety during the setup phase. - Download this source repository, open a command line to its directory, restore associated data (run
dotnet restore) and run it (rundevelopment.batorstart.bat/start.sh). - Connect to the server in the path its at (Server URL (or
localhost), with port8050by default) to be automatically directed to the install page.- Make sure config file folder is editable by the server process user. (Defaults to local path,
./config/) - To change your config file folder location, edit the marked variable near the top of
ForumInit.cs.
- Make sure config file folder is editable by the server process user. (Defaults to local path,
- Configure everything as per instructions, and press the button at the bottom.
- You can log in as
adminwith the password you gave on the install page. - It is recommended at this point that you register yourself a separate account, and give it admin access of its own, so that you are not logging in as the root admin normally.
- Configure the forum however you wish via the administrative control panel.
- If you blacklisted the launch port, at this point remove that blacklisting.
- Optionally, use apache or similar as a mid-point for connections.
- Invite some users and start posting!
- General
- Everything backed by MongoDB for data.
- Account System
- A simple Collection of users, stored as documents.
- A full account management setup with registration, login, logout, etc.
- Usable as a generic account-server.
- Semi-relational data, not all dumped into the user document.
- BBCode Parser
- An engine to parse BBCode.
- Supports an administrator-definable list of BBCodes, including a sample set that can be modified.
- Forum
- Index
- Display a list of all sections.
- Sorted by administrators manually.
- Info on each section, including latest post meta.
- No pagination.
- Broken up into Categories (not separately viewable).
- Display a list of all sections.
- Section Index
- Display a list of all topics in section.
- Sorted by changable criteria, with default mode specified globally or per-section by administrators.
- Info on each topic, including latest message meta and original message meta.
- Paginated.
- Display a list of all topics in section.
- Topic View
- Display a list of all posts in topic.
- Sorted by date, always.
- Paginated.
- Full contents of each post. Meta on left side, content on right side (main space).
- Contents are BBCode-Parsed.
- Display a list of all posts in topic.
- Index
- Related
- Installer System
- Only available once per install of a forum.
- Shows up whenever configuration file is not-found.
- Creates the configuration file. (Admins are informed to allow access to the specific config file, or change the file an easily edited source text file!)
- Initializes the backing database with some basic empty collections, and one default admin user, which is configured by installing admin.
- Admin Panel
- Full control of the entire system.
- Moderator Panel
- Control over and information on user activities (EG reports).
- User Control Panel
- Good level of control for a user over their own account, alongside basic settings such as board theme.
- User Private Messaging (PM) Service
- Way for users to contact each other.
- Installer System
- Other
- Simple 'pages builder'.
- A way to build generic web pages easily within the forum's domain.
- Simple 'pages builder'.
- Search Engine
- Maintain a mapping of keywords to posts
- IE, for each word in the post that should be validly searchable, set an indexed database key with that name to contain a reference ID of the post.
- Maintain a mapping of keywords to posts
- tf_users
- Index on:
uid(long),username(string) - Also has:
email(string),display_name(string),password(hashed binary string) - Also has:
banned(bool),banned_until(date string),ban_reason(string) - Also has:
active(bool),activation_code(string) - Also has:
register_date(date string),last_login_date(date string) - Also has:
uses_tfa(bool),tfa_internal(string),tfa_backups(string) - Also has:
account_type(int32),roles(array of strings) - Also has:
websess_codes(array of strings)
- Index on:
- tf_settings
- Index on:
name(string) - Also has:
value(string)
- Index on:
- tf_sections
- Index on:
name(string),uid(long) - Also has:
description(string)
- Index on:
- tf_topics
- Index on:
uid(long)section_id(long) - Also has:
title(string),main_post(long),post_uids(array of longs) - Also has
tags(array of strings)
- Index on:
- tf_posts
- Index on:
uid(long) - Also has:
contents(BBCode string),author_uid(long),author_username(string),post_date(date string)
- Index on:
- tf_search
- Index on:
keyword(string) - Also has:
posts(array of int32s)
- Index on:
- Forum user/post reporting
- Rather than provide a built-in report system separate from existing functionality,
- It is likely best to set up a "quiet" "self-only" forum section.
- This section would show a user their own reports and postings in it by themselves and admins, but not other users' reports.
- Admins can freely browse the section.
- Goes well with the tag system to mark a report open/resolved/etc.
- Tag System
- Forum topics can be tagged.
- This is for searchability and content visibility.
- EG, a topic might be tagged "Open" initially, then changed to "Resolved" later.
- Allows multiple tags per topic.
- Common tags can be configured by admins to be selected-from and given special indication color.
- Alternately, users can specify their own uncolored tags.