README.md.backup 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # Simple forum
  2. This is a simple forum built-in Flask framework in Python. The main code is less than 100 lines to be as lightweight as possible.
  3. For the moment the forum is very basic.
  4. ## Features
  5. * Manage accounts
  6. * Order the topics by most active, new and categories
  7. * Like the topics and answers
  8. * Integrate HTML formating (need to change this for security purposes)
  9. * Bumb the posts by reply (the posts are ordered by the last actives)
  10. In the future I want to integrate the following ones as well
  11. * Trust system and badges
  12. * Notifications
  13. * Private msgs
  14. * Change the password and manage the account
  15. * Manage categories and limit them
  16. * Create a search bar to search through, topics and replies
  17. ## Why I made it
  18. I made this forum because I want to make a serie of basic lightweight web apps that can be
  19. used to make other projects as well. I challenged myself to make apps with the following lines limits:
  20. * 100 lines for the main *logic* code (app.py)
  21. * 100 lines for the *non-logic* code (helper.py)
  22. * Not really a limit, but trying to keep it small anyway for the templates. But **not** using external imports. Raw CSS only.
  23. * Other modules are allowed, **only** if they can be used for a various projects (login.py)
  24. So these are the advantages:
  25. * You got a full control over the code because it's simple and basic. You can make it more complex if you want to, but it remmains under your control
  26. * You can use it for education purposes by understanding the code
  27. * You can kickstart your project by integrating this one as a base
  28. * Less lines, less bugs, less troubleshooting :p
  29. * The code is durable, there are less chances that the code becomes obsolete
  30. * Peer to peer friendly, you can adapt the code to make a peer to peer app
  31. * Low-end servers and clients friendly.
  32. * Fast websites. Because the code is limited and no more unneccessary CSS and JS is included the website is much faster
  33. In bonus you can also uses the 'login.py' script to speed up the devloppement of the account management in your own Flask apps.
  34. ## How to build the source code
  35. 1. Install the depedencies
  36. Debian:
  37. ```bash
  38. sudo apt install python3 python3-pip
  39. pip3 install -r requirements.txt --user
  40. ```
  41. Fedora:
  42. ```bash
  43. sudo dnf install python3 python3-pip
  44. pip3 install -r requirements.txt --user
  45. ```
  46. 2. (Optional) Change the template to fit your needs
  47. 3. Run the main file:
  48. ```bash
  49. python3 app.py
  50. ```
  51. *Note: to change the style of the website I highly recommend you to use the 'Style inspector' built-in in Firefox.*
  52. ## How to use the login.py
  53. ### Install the requirements
  54. You can find the login.py's documentation [here](./login.md).