Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rainydevzz/grapeforum
A sweet and simple forum platform for everyone. 🍇
https://github.com/rainydevzz/grapeforum
actix-web forum gplv3 handlebars rust rustlang sea-orm social
Last synced: about 1 month ago
JSON representation
A sweet and simple forum platform for everyone. 🍇
- Host: GitHub
- URL: https://github.com/rainydevzz/grapeforum
- Owner: rainydevzz
- License: gpl-3.0
- Created: 2023-10-09T02:28:50.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-19T07:48:54.000Z (6 months ago)
- Last Synced: 2024-09-29T20:41:20.518Z (about 2 months ago)
- Topics: actix-web, forum, gplv3, handlebars, rust, rustlang, sea-orm, social
- Language: Rust
- Homepage:
- Size: 145 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# GrapeForum
**A sweet and simple forum platform for everyone.**
GrapeForum is a lightweight forum platform that has several core features for forum activity but does not over-extend itself into the realm of social media. This keeps for a light and smooth experience for general discussion and collaboration.
### A Little Technical
GrapeForum uses the HARP stack (which I made up just now)
- Handlebars (A simple templating engine for both clients and servers, but is implemented server-side here)
- Actix Web (An extremely fast and feature-rich web framework in Rust)
- Rust (A blazingly fast, memory-safe systems programming language suited for almost any use case)
- PostgreSQL (An open-source, SQL-based database solution with lots of features and good performance)This stack allows for a performant backend and frontend, with focus on keeping the client-side extremely lightweight. Since the Handlebars engine is implemented directly in Rust, this also results in *very* little Javascript throughout the entire application.
### Getting Started
You can run GrapeForum thanks to Docker Compose!
all you need is `docker` and `docker-compose`, and then run `docker-compose up` in the root project dir, and you're good to go!
If you're interested in hosting the service out to the internet, you can use a service like Nginx. [Here is an Nginx reverse proxy guide.](https://linuxize.com/post/nginx-reverse-proxy/) You may need to find additional resources if you don't know how to set up SSL under Nginx, but it's relatively easy nonetheless.
### Current Features
- No algorithms or trackers. You don't even need an email!
- 100% libre thanks to GPLv3
- Logins/Registrations
- Built-in Rate limiting powered by Actix Governor
- Secure accounts with tokens and hashed passwords
- Posting, Including editing and deleting posts
- Commenting on Posts
- Editable About Me
- More to come!### For Developers
If you're interested in working on GrapeForum, or just testing it locally, Docker Compose is perfectly suitable for that. If you'd rather not use Docker, you will have to install Rust (cargo and rustc) as well as PostgreSQL and configure them accordingly. The default local address is `localhost:8080`.