models | ||
public | ||
routes | ||
util | ||
views | ||
.env.example | ||
.gitignore | ||
APIDOCS.md | ||
config.json.example | ||
index.js | ||
lib.js | ||
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 themes (black
or default
) of users, and forum name, meta description, character limits, discord auth enabler, global ratelimit.
DISCORD AUTH:
"discord_auth": "your_app_id"
in config.json.
Add your app secret to .env
as DISCORD_SECRET
.
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
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
- categories page is need a update, thread count in category
- Disable last seen button for web.
- old contents / titles add to forum interface
- add ban button to user profile.
- change password.
- add approval threads page.
- who liked a message for web.
- edit config from web admin panel.
- user.state for ban, delete, etc.
- Add a feature list to README.md
- delete admin???
- MODALS'S CSS & JS
- change category name
- click to user message count to view message W/search
- add deleted => this.state=="DELETED"
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