Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bonfire-networks/bonfire_ui_social
UI components for Bonfire:Me and Bonfire:Social extensions
https://github.com/bonfire-networks/bonfire_ui_social
extension
Last synced: 5 days ago
JSON representation
UI components for Bonfire:Me and Bonfire:Social extensions
- Host: GitHub
- URL: https://github.com/bonfire-networks/bonfire_ui_social
- Owner: bonfire-networks
- License: agpl-3.0
- Created: 2020-12-28T11:28:26.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T12:39:37.000Z (7 months ago)
- Last Synced: 2024-04-14T02:32:54.574Z (7 months ago)
- Topics: extension
- Language: Elixir
- Homepage:
- Size: 3.97 MB
- Stars: 10
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - bonfire-networks/bonfire_ui_social - UI components for Bonfire:Me and Bonfire:Social extensions (others)
README
# Bonfire.UI.Social
![](https://i.imgur.com/XoQvDCW.png)[Bonfire.UI.Social](http://bonfirenetworks.org/extensions/ui_social.html) is an extension that includes the main User Interfaces (routes, pages and components) required to have a fully working federated social network app.
This extension is meant to be used by other extensions like [Bonfire.Social](https://github.com/bonfire-networks/bonfire_social), which provides logic for the UI to work with/
You can customise it by forking, but we recommend creating an extension which uses this one as a dependency, and defines your custom components, views, and/or routes (you can then comment `Bonfire.UI.Social.Routes` from your top-level Router to use your custom routes and views instead).
### Stack
So far, Bonfire UI extensions are built with the PETALS stack (note that is not a requirement), which means:
- [Phoenix](https://www.phoenixframework.org/)
- [Elixir](https://elixir-lang.org/)
- [TailwindCSS](https://tailwindcss.com/)
- [Alpine.js](https://alpinejs.dev/)
- [LiveView](https://github.com/phoenixframework/phoenix_live_view#readme)
- [Surface](https://surface-ui.org/)Surface is a server-side rendering component library (built on top of Phoenix and LiveView) that inherits a lot of design patterns from popular JS framework like Vue.js and React, while being almost JavaScript-free compared to common SPAs.
### Scaffolding
The relevant folders are:
- [Components](https://github.com/bonfire-networks/bonfire_ui_social/tree/main/lib/components): Surface stateless and stateful components.
- [Views](https://github.com/bonfire-networks/bonfire_ui_social/tree/main/lib/views): The main pages that are rendered when navigating to a specific route
- [Test](https://github.com/bonfire-networks/bonfire_ui_social/tree/main/test): All the unit tests for the specific module.### Other resources
- [A blog post that introduces the concept of themeable bonfire apps](https://bonfirenetworks.org/posts/let_thousand_bonfires_bloom/)## Copyright and License
Copyright (c) 2020 Bonfire, and CommonsPub Contributors
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 .