src | ||
util | ||
.env.example | ||
.eslintrc.json | ||
.gitignore | ||
APIDOCS.md | ||
config.json.example | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
akf-forum
A Node.js based forum software.
Installation
- Clone or download this repo.
- Run
npm i
to install dependencies. - Enter your database credentials in
.env
. - Run
npm start
for run it. - Go
/setup
page for setup your forum.
Extra (If you are not use setup
page)
Run node util/reset
to reset the database for duplicate key errors, and run node util/admin
for give admin perms to first member.
Edit config.json
for default theme for users, forum name, meta description, character limits, discord auth enabler, global ratelimit etc.
How to install theme:
- Copy your theme to
src/themes
folder. Additional note for themes: If a theme has not got any .ejs file, it will use default theme's .ejs files. default theme is in themes folder, named ascommon
.
DISCORD AUTH:
"discord_auth": true
in config.json.
Add your app secret and app id to .env
as DISCORD_SECRET
and DISCORD_ID
.
Create a redirect url in discord developer portal:
https://forum_url.com/auth/discord
EMAIL AUTH:
You can configure it. Just edit config.json
and .env
files.
"email_auth": true, "default_user_state": "APPROVAL"
in config.json.
Add your email credentials to .env
as EMAIL_USER
and EMAIL_PASS
.
Add your email domain to .env
as EMAIL_SERVICE
.
API
Akf-forum has got an API for AJAX (fetch), other clients etc. And, you can learn about API in APIDOCS.md
.
And you can use offical API wrapper.
Credits
- Akif9748 - Project mainteiner, main developer, made old frontend
- Tokmak - Made new frontend
- Camroku - Made old stylesheets
Screenshot
Thread Page w/Black Theme
Threads Page w/Default Theme
Mobile view
TO-DO list
- Profile Message or DM
- mod role, permissions
- upload other photos, model for it
- change password.
- add approval threads page.
- Add a feature list to README.md
- delete admin???
- change category name
- _id
- add support for transition around gravatar
- BETTER SETUP PAGE
- add used open source libraries to README.md
- send public to common/public
- new screenshoots
- user.ejs for per theme
front-end
- text alling center body
- add a css file for CodeMirror in threads / send message ok
- old contents / titles add to forum interface
- categories page is need a update, thread count in category (?)
- add ban button to user profile
- who liked a message
- give admin button, not is admin
- edit user ++
- rewrite main page, list new messages
- thread.js unfuction only listener
css fix
- admin page to css file threads:
Major Version History
- V4: Caching
- V3: New Theme
- V2: Backend fix, mongoose is fixed. Really big fix.
- V1: Mongoose added.
- V0: Birth with quick.db