AFKForum is a website-based forum made for gamers. Through threads you can share thoughts and experiences, as well as discussing whatever gaming related topic you want. This project is being developed by students through the subject TDT4140 Software Development at NTNU.
A link to the gitLab repository: https://gitlab.stud.idi.ntnu.no/tdt4140-2020/20
The motivation for the project was primarily based on the request from our customer to create a meeting place, primarily for Norwegian Gamers. The idea of creating this application was to facilitate a place where gamers could share their achievements, in addition to discuss and ask questions to relevant gaming topics. Motivated and inspired by previous experience with other forums, we wanted to improve the forum idea by adding additional functionality.
Make your own account to get access to special features such as
- Make your own threads - anything gaming related goes!
- Comment on other people's threads
- Give threads a downvote or an upvote to show what you think!
Commenting in the comment section of a thread.
AFKForum is made in Django 2.2 with Python 3.7.6. Notable software used is:
Backend:
- Python - the chosen programming language
- Django - a Python Web framework
- django-contrib-comments - framework for comments
- django-updown - framework for voting
- SQLite - database engine
Frontend:
- HTML - standard markup language for the Web
- CSS - for styling HTML
- bootstrap - styling component library
- django-crispy-forms - for controlling the rendering of forms elegantly
We have used the PEP-8 code conventions for Python. Read more about this in Code Quality and Testing
It is important that you install python, django and pip before you continue on.
Start by cloning the git repo for the project. This can be done in two ways:
- With https:
git clone https://gitlab.stud.idi.ntnu.no/tdt4140-2020/20.git - With SSH:
git clone git@gitlab.stud.idi.ntnu.no:tdt4140-2020/20.git
Enter the root-directory of the project you just downloaded.
It is recommended that you make your own environment for this project, but it is not a requirement. (If you don't want to do it, simply skip this next bit.)
To create the virtual environment run this command:
python -m venv env
This should make a folder named env. To activate the environment use this command:
.\env\Scripts\activate.bat
To install all the required libraries etc. run this command:
pip install -r requirements.txt
To create a local database (if not already made) run the command:
python manage.py makemigrations
python manage.py migrate
This should make a file named db.sqlite3 which is the newly created database.
Start the server by running the command:
python manage.py runserver
Then go to localhost:8000 to find the website. It should look similar to the website you saw in the screenshot above.
We have so far relied only on usertesting and thus have no tests to run. More information on this subject can be found in our Wiki under the page Code Quality and Testing
For more information, see the Wiki-page called User Manual.
- Anchana Visvalingam Balasingham
- Andreas Brennsæter
- Erle Nilsen Utler
- Hanne Kyllo Ødegård
- Harald Witsø
- Hedda Ugland
- Liv Elise Herstad
Currently, there is no formal process in place for people outside the project to contribute. However, if you want to contribute you can fork and make merge-requests. We appreciate every feedback and contribution!
We are grateful to Corey Schafer and his YouTube-channel for helping us out with several challenges during the project.
The MIT License is used to license the code in this project.

