Aardwolf-Social/aardwolf-social
Powering connected social communities with open software.
Aardwolf Social
Powering connected social communities with open-source software
π About Aardwolf Social
Aardwolf Social is a free and open-source alternative to Facebook that prioritizes user privacy and decentralization. Unlike mainstream platforms that present a single advertising-driven experience, Aardwolf empowers individuals and communities to create unique, customizable spaces while maintaining the ability to interact across different instances.
- User Privacy First: No ads, no trackingβjust a community-first social experience.
- Decentralized & Customizable: Each community can have its own Aardwolf server (instance) that fits its specific needs.
- Open Source: Built by the community for the community.
π Project Structure
| Folder/File | Description |
|---|---|
.github/ |
CI/CD Files related to GitHub |
aardwolf-actix/ |
The Actix backend Rust application code |
aardwolf-models/ |
Web app models and database setup files |
aardwolf-templates/ |
Legacy frontend files |
aardwolf-test-helpers/ |
Development functional test code |
aardwolf-types/ |
Additional web app components |
aardwolf-yew-frontend/ |
The Yew frontend application code |
config/ |
Aardwolf Social app configuration files |
doc/ |
Documentation |
docker/ |
Docker files |
po/ |
Legacy directory for i18n translations |
src/ |
The source directory for the main app |
tests/ |
Code validation and coverage tests |
build.rs |
Rust code that directs Cargo build |
Cargo.lock |
Complete manifest of all Rust crates used |
Cargo.toml |
Manifest of crates required to build Aardwolf |
CODE_OF_CONDUCT.md |
Our Code of Conduct rules |
db-init.sh |
Part of the setup/install scripts |
diesel.toml |
Tells Diesel where to find the SQL migrations |
LICENSE |
The license we use for this software |
README.md |
The file you are presently reading |
ROADMAP.md |
Our development roadmap |
rust-toolchain.toml |
Specifies the Rust version for the dev environment |
SECURITY.md |
Future info for security updates |
translations/ |
Translations directory (links to aardwolf-templates) |
π Screenshot of Aardwolf Social
Check out a preview of the homepage design below! This static demo showcases our design approach and upcoming features.
π€ Contributing to Aardwolf Social
We would love your help! Whether youβre an experienced developer or just starting, thereβs a place for you in the Aardwolf community. Here are some ways to contribute:
- Rust Developers: If you're proficient in or learning Rust, we need your expertise to improve our backend.
- Frontend Developers: Help us design a beautiful and functional user interface using HTML, CSS, and Yew.
- Documentation: Proofread, organize, and update our documentation.
- Docker & VMs: Assist in building Docker images for development environments.
How to Contribute
Follow these steps to start contributing to Aardwolf Social:
-
Fork the Repository:
- Navigate to the main repository Aardwolf Social GitHub Repo.
- Click the Fork button in the upper right corner to create a copy of the repository under your GitHub account.
-
Clone the Repository:
- Open your terminal and clone the forked repository to your local machine:
git clone https://github.com/YOUR-USERNAME/aardwolf.git cd aardwolf
- Open your terminal and clone the forked repository to your local machine:
-
Create a New Branch:
- Before making any changes, create a new branch for your feature or fix. This keeps your contributions organized and separate from the main codebase:
git checkout -b feature-name
- Before making any changes, create a new branch for your feature or fix. This keeps your contributions organized and separate from the main codebase:
-
Make Your Changes:
- Add your contributions, whether itβs code, documentation, or other improvements. Once you're happy with your changes, stage and commit them:
git add . git commit -m "Description of your changes"
- Add your contributions, whether itβs code, documentation, or other improvements. Once you're happy with your changes, stage and commit them:
-
Push the Changes to Your Fork:
- Push the changes from your local machine to your forked repository:
git push origin feature-name
- Push the changes from your local machine to your forked repository:
-
Create a Pull Request (PR):
- Go to your forked repository on GitHub, and you should see a prompt to Compare & pull request.
- Click that, and make sure you're merging into the main branch of the original
Aardwolf-Social/aardwolfrepository. - Provide a clear title and description for your pull request so that maintainers can easily understand your changes.
-
Wait for Feedback:
- A project maintainer will review your PR. They may ask for changes or approve it. Feel free to discuss or clarify anything in the PR comments.
Additional Contribution Resources
- Check out our contributor guidelines for detailed rules and tips.
- View our development roadmap to see current priorities and future plans.
π Repositories
Aardwolf Social is divided into several repositories:
- Aardwolf-Social Main: The main project repository.
- Aardwolf Social Interface: The frontend development repository.
- Aardwolf Social Website: Repository for the Jekyll-powered website.
π¬ Contact Us
Have questions or want to join the conversation? Weβre available on several platforms:
- Matrix Chat Room: #aardwolf-discussion:matrix.org
- Mastodon: @banjofox2@hackers.town
π Community Code of Conduct
Aardwolf Social is dedicated to fostering a welcoming and supportive community. We expect all contributors to follow our Code of Conduct both online and offline. Let's build something amazing together!
π License
All Aardwolf Social software is licensed under the GNU Affero General Public License (AGPL v3).
Join Us in Building a More Open and Connected World with Aardwolf Social!

