2022-03-13 16:16:46 +03:00
# akf-forum
2022-08-27 09:53:10 +03:00
A Node.js based forum software.
2022-03-13 16:16:46 +03:00
## Installation
2022-05-01 17:10:44 +03:00
- Clone or download this repo.
- Run `npm i` to install **dependencies** .
2022-09-17 19:33:51 +03:00
- Enter your database credentials in `.env` .
2022-08-10 00:22:12 +03:00
- Run `npm start` for run it.
2023-05-25 17:47:54 +03:00
- Go `/setup` page for setup your forum.
2022-05-01 17:10:44 +03:00
2022-09-23 23:10:13 +03:00
### Extra (If you are not use `setup` page)
2022-09-17 15:19:41 +03:00
Run `node util/reset` to **reset the database** for duplicate key errors, and run `node util/admin` for give admin perms to first member.
2023-05-25 17:47:54 +03:00
Edit `config.json` for default theme for users, forum name, meta description, character limits, discord auth enabler, global ratelimit etc.
2022-09-17 19:33:51 +03:00
2023-05-09 13:28:45 +03:00
### How to install theme:
2023-05-25 17:47:54 +03:00
- Copy your theme to `src/themes` folder.
2023-05-25 17:23:31 +03:00
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 as `common` .
2023-05-09 13:28:45 +03:00
2022-09-17 19:33:51 +03:00
### DISCORD AUTH:
2023-05-25 17:58:47 +03:00
`"discord_auth": true` in config.json.
Add your app secret and app id to `.env` as `DISCORD_SECRET` and `DISCORD_ID` .
2022-09-17 19:33:51 +03:00
Create a redirect url in discord developer portal:
2022-09-24 01:39:06 +03:00
`https://forum_url.com/auth/discord`
### EMAIL AUTH:
You can configure it. Just edit `config.json` and `.env` files.
2022-10-09 21:23:31 +03:00
`"email_auth": true, "default_user_state": "APPROVAL"` in config.json.
2022-09-24 01:39:06 +03:00
Add your email credentials to `.env` as `EMAIL_USER` and `EMAIL_PASS` .
Add your email domain to `.env` as `EMAIL_SERVICE` .
2022-03-13 16:16:46 +03:00
2022-03-20 21:37:47 +03:00
## API
2022-09-09 15:10:44 +03:00
Akf-forum has got an API for AJAX (fetch), other clients etc. And, you can learn about API in `APIDOCS.md` .
2022-03-20 21:37:47 +03:00
2022-09-09 21:40:02 +03:00
**And you can use [offical API wrapper ](https://github.com/Akif9748/akf-forum-api ).**
2022-03-13 16:16:46 +03:00
## Credits
2022-08-26 16:27:29 +03:00
* [Akif9748 ](https://github.com/Akif9748 ) - Project mainteiner, main developer, made **old** frontend
2022-08-26 16:37:26 +03:00
* [Tokmak ](https://github.com/tokmak0 ) - Made **new** frontend
2022-08-26 16:27:29 +03:00
* [Camroku ](https://github.com/Camroku ) - Made **old** stylesheets
## Screenshot
2022-09-01 14:15:48 +03:00
### Thread Page w/Black Theme
![black-theme ](https://user-images.githubusercontent.com/70021050/187899782-2ff010aa-0d39-4fc2-b00c-19bcf1623c8a.png )
### Threads Page w/Default Theme
![light-theme ](https://user-images.githubusercontent.com/70021050/186941146-f9a8fbf8-9b2b-4028-afc8-81cff559d9fb.png )
< details >
< summary > < b > Mobile view< / b > < / summary >
< img src = "https://user-images.githubusercontent.com/70021050/187901065-fd75ef85-56e3-42ce-8b34-cb8d799a6517.png" > < / img >
< / details >
2022-03-13 16:16:46 +03:00
2022-09-01 16:23:46 +03:00
## TO-DO list
2022-09-23 23:10:13 +03:00
- Profile Message or DM
- mod role, permissions
- upload other photos, model for it
- change password.
- add approval threads page.
2022-09-24 01:39:06 +03:00
- Add a feature list to README.md
2022-09-27 21:34:13 +03:00
- delete admin???
2022-10-06 22:11:18 +03:00
- change category name
2022-10-11 23:24:47 +03:00
- _id
2023-05-08 18:17:46 +03:00
- add support for transition around gravatar
2023-05-24 15:40:09 +03:00
- BETTER SETUP PAGE
2023-05-25 16:15:50 +03:00
- add used open source libraries to README.md
2023-05-25 17:47:54 +03:00
- send public to common/public
- new screenshoots
2023-05-25 17:58:47 +03:00
- user.ejs for per theme
2023-05-24 15:43:40 +03:00
### front-end
2023-05-24 15:40:09 +03:00
- text alling center body
2023-05-09 13:28:45 +03:00
- add a css file for CodeMirror in threads / send message ok
2022-10-09 22:57:46 +03:00
- old contents / titles add to forum interface
- categories page is need a update, thread count in category (?)
2023-05-09 13:28:45 +03:00
- add ban button to user profile
- who liked a message
2022-10-10 00:12:21 +03:00
- give admin button, not is admin
2023-05-09 13:28:45 +03:00
- edit user ++
- rewrite main page, list new messages
2023-05-24 15:40:09 +03:00
- thread.js unfuction only listener
#### css fix
- admin page to css file
threads:
< style >
.fa {
color: var(--main);
}
< / style >
2022-10-09 22:57:46 +03:00
2022-08-26 22:09:02 +03:00
## Major Version History
2022-08-31 14:44:28 +03:00
- V4: Caching
2022-08-26 22:09:02 +03:00
- V3: New Theme
- V2: Backend fix, mongoose is fixed. Really big fix.
- V1: Mongoose added.
2023-05-08 17:41:16 +03:00
- V0: Birth with quick.db