The spiritual successor to Camphouse V1 and a hard fork of Discuit
This is the codebase that powers Camphouse, which is an open-source community platform, an alternative to Reddit.
Built with:
- Go: The backend.
- React: The frontend.
- MariaDB: The main datastore.
- Redis: For transient data.
- Meilisearch: For searching and indexing.
- Dark mode.
- User created communities.
- UI preferences:
- Compact mode.
- Enable or disable infinite scroll.
- Choose which notifications to get.
- Change default feed sort.
- Filtering:
- Mute communities.
- Mute users.
- Filter posts by topic.
- An explore page (modeled after Youtube's home page).
- Filter link-posts by URL or domain.
- Moderation:
- Pinned posts and comments.
- Lock individual comments (so they cannot be replied to).
- A single page for handling reports for users who moderate multiple communities.
- Temporary bans.
- User and community mentions (@user and +community).
- Image posts.
- Poll posts.
- Video embeds (Youtube, Vimeo, etc).
- Image galleries.
- Server side rendering (for better SEO).
- Direct messages.
- Saved posts and comments (modeled after Youtube playlists).
- Multiple feeds (modeled after Twitter Lists).
- Search.
- API
- UI
- Moderation log.
- RSS feeds.
- API
- UI
- Wiki pages for communities.
- User profile pictures.
- User badges (displayed on profile page).
- Post drafts.
- History (viewed posts).
- API
- UI
- Something like Reddit's flairs to group posts within a community.
Camphouse is free and open-source software, and you're welcome to contribute to its development.
The documentation of the API can be found at docs.camphouse.org.
Copyright (C) 2024 VMG Ware
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.