MCPcopy Index your code
hub / github.com/Aardwolf-Social/aardwolf-social

github.com/Aardwolf-Social/aardwolf-social @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
956 symbols 1,805 edges 175 files 46 documented · 5% updated 5mo ago★ 51016 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Aardwolf Social

Powering connected social communities with open-source software

Aardwolf-Social/build Aardwolf-Social/test GitHub issues rust-clippy analyze Docker Image CI License: AGPL v3


Aardwolf Social: Powering connected social communities with open 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.

Aardwolf Social: Powering connected social communities with open software


🤝 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:

  1. Fork the Repository:
  2. Navigate to the main repository Aardwolf Social GitHub Repo.
  3. Click the Fork button in the upper right corner to create a copy of the repository under your GitHub account.

  4. Clone the Repository:

  5. Open your terminal and clone the forked repository to your local machine: bash git clone https://github.com/YOUR-USERNAME/aardwolf.git cd aardwolf

  6. Create a New Branch:

  7. Before making any changes, create a new branch for your feature or fix. This keeps your contributions organized and separate from the main codebase: bash git checkout -b feature-name

  8. Make Your Changes:

  9. Add your contributions, whether it’s code, documentation, or other improvements. Once you're happy with your changes, stage and commit them: bash git add . git commit -m "Description of your changes"

  10. Push the Changes to Your Fork:

  11. Push the changes from your local machine to your forked repository: bash git push origin feature-name

  12. Create a Pull Request (PR):

  13. Go to your forked repository on GitHub, and you should see a prompt to Compare & pull request.
  14. Click that, and make sure you're merging into the main branch of the original Aardwolf-Social/aardwolf repository.
  15. Provide a clear title and description for your pull request so that maintainers can easily understand your changes.

  16. Wait for Feedback:

  17. 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


📂 Repositories

Aardwolf Social is divided into several repositories:


📬 Contact Us

Have questions or want to join the conversation? We’re available on several platforms:


🌟 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!

Extension points exported contracts — how you extend this code

DbAction (Interface)
(no doc) [12 implementers]
aardwolf-types/src/traits.rs
Renderable (Interface)
(no doc) [5 implementers]
aardwolf-templates/src/lib.rs
UserLike (Interface)
(no doc) [4 implementers]
aardwolf-models/src/user.rs
Post (Interface)
(no doc) [3 implementers]
aardwolf-api/aardwolf-api-common/src/models/posts.rs
MyConnection (Interface)
(no doc) [3 implementers]
aardwolf-api/database-api/src/postgres/postgres_main.rs
Response (Interface)
responses.rs
aardwolf-api/backend-api/src/responses.rs
RenderableExt (Interface)
(no doc) [1 implementers]
aardwolf-actix/src/traits.rs
AardwolfServer (Interface)
(no doc) [1 implementers]
src/bin/aardwolf-server.rs

Core symbols most depended-on inside this repo

new
called by 96
aardwolf-actix/src/routes/personas.rs
insert
called by 31
aardwolf-models/src/file.rs
run
called by 18
aardwolf-actix/src/routes/auth.rs
as_ref
called by 18
aardwolf-models/src/sql_types/mime.rs
id
called by 17
aardwolf-models/src/link.rs
has_permission
called by 13
aardwolf-models/src/user/permissions.rs
fire_time
called by 12
aardwolf-models/src/timer.rs
id
called by 11
aardwolf-models/src/user/role.rs

Shape

Method 489
Function 194
Class 192
Enum 57
Interface 24

Languages

Rust100%

Modules by API surface

aardwolf-models/src/user/permissions.rs44 symbols
aardwolf-models/src/test_helper.rs41 symbols
aardwolf-models/src/user.rs35 symbols
aardwolf-models/src/user/local_auth/password.rs28 symbols
aardwolf-models/src/base_actor.rs28 symbols
aardwolf-models/src/user/email.rs22 symbols
aardwolf-actix/src/routes/auth.rs19 symbols
aardwolf-api/database-api/src/postgres/postgres_main.rs18 symbols
aardwolf-actix/src/lib.rs18 symbols
aardwolf-models/src/base_post.rs17 symbols
aardwolf-models/src/user/email/token.rs16 symbols
aardwolf-models/src/timer/event.rs16 symbols

Datastores touched

aardwolfDatabase · 1 repos
aardwolf_testingDatabase · 1 repos

For agents

$ claude mcp add aardwolf-social \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page