All Projects → Gingerbreadfork → microsocial

Gingerbreadfork / microsocial

Licence: other
Microsocial is an experimental social platform that takes a peer-to-peer approach to social media.

Programming Languages

Svelte
593 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to microsocial

svelte-commerce
Svelte ecommerce - Headless, Authentication, Cart & Checkout, TailwindCSS, Server Rendered, Proxy + API Integrated, Animations, Stores, Lazy Loading, Loading Indicators, Carousel, Instant Search, Faceted Filters, Typescript, Open Source, MIT license. 1 command deploy to your own server, 1 click deploy to netlify.
Stars: ✭ 695 (+3209.52%)
Mutual labels:  svelte, tailwindcss
awesome-search-engine-optimization
A curated list of backlink, social signal opportunities, and link building strategies and tactics to help improve search engine results and ranking.
Stars: ✭ 82 (+290.48%)
Mutual labels:  social-media, social-network
awesome-alternatives
A list of alternative websites/software to popular proprietary services.
Stars: ✭ 123 (+485.71%)
Mutual labels:  social-media, social-network
driwwwle
The social network for developers. Discover creative websites and build a community.
Stars: ✭ 109 (+419.05%)
Mutual labels:  social-media, social-network
SocialApp-React-Native
Social Networking mobile app similar to Instagram in React Native.
Stars: ✭ 79 (+276.19%)
Mutual labels:  social-media, social-network
social
A simple social media using MEAN Stack. Frontend: Angular 6.
Stars: ✭ 13 (-38.1%)
Mutual labels:  social-media, social-network
LinkedIn Scraper
🙋 A Selenium based automated program that scrapes profiles data,stores in CSV,follows them and saves their profile in PDF.
Stars: ✭ 25 (+19.05%)
Mutual labels:  social-media, social-network
SocialMedia-App
A fully functional social media app built with flutter with multiple features
Stars: ✭ 646 (+2976.19%)
Mutual labels:  social-media, social-network
SimpleSocial
A simple social network web application using ASP.NET Core 3.1
Stars: ✭ 16 (-23.81%)
Mutual labels:  social-media, social-network
subsocial-node
NOTE: Development continues in https://github.com/dappforce/subsocial-parachain repo. Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.
Stars: ✭ 73 (+247.62%)
Mutual labels:  social-media, social-network
social-post-api
Social Media API: Automate Posting and Analytics to Social Networks like Instagram, TikTok, Twitter, Facebook, LinkedIn, Reddit, YouTube, and Telegram
Stars: ✭ 38 (+80.95%)
Mutual labels:  social-media, social-network
Whizzz-The-ChatApp
Whizzz is a real-time, one-to-one Android chat application made using Firebase, a beautiful user interface, and a push-notification feature.
Stars: ✭ 66 (+214.29%)
Mutual labels:  social-media, social-network
mobile-native
mirror of https://gitlab.com/minds/mobile-native
Stars: ✭ 80 (+280.95%)
Mutual labels:  social-media, social-network
ts-ui
Telar Social Network using Reactjs
Stars: ✭ 35 (+66.67%)
Mutual labels:  social-media, social-network
aspnet-core-social-network
Social network based on ASP.NET Web API Core 2
Stars: ✭ 36 (+71.43%)
Mutual labels:  social-media, social-network
felfele
Decentralized social application that respects your privacy
Stars: ✭ 30 (+42.86%)
Mutual labels:  social-media, social-network
Graphjs
A set of widgets for a meaningfully social web.
Stars: ✭ 212 (+909.52%)
Mutual labels:  social-media, social-network
Socialview
Android TextView and EditText with hashtag, mention, and hyperlink support
Stars: ✭ 217 (+933.33%)
Mutual labels:  social-media, social-network
socialx react native
The SocialX ecosystem takes the social media experience to the next level.
Stars: ✭ 20 (-4.76%)
Mutual labels:  social-media, social-network
django-sozluk
an exhaustive ekşi sözlük clone, powered by Python
Stars: ✭ 245 (+1066.67%)
Mutual labels:  social-media, social-network

Microsocial

When social media first became popular, computers were a lot different from what they are today. The phone you have in your pocket may be more powerful than the computer you first used to sign up to Facebook or Twitter. With this in mind, perhaps this extreme technology growth has opened up other ways to approach how we connect and engage with each other online. For example, is it necessary to rely on a third party to hoard our data en masse to turn around and blanket us with aggressive advertising in return, or are there alternatives?

What if everyone operated their own sort of "micro stack" and leveraged either our own hardware or opted to take advantage of the excellent infrastructure provided by Deta. What if you could change how you interacted online to ensure you could retain control of what you choose to put out into the world. Microsocial takes these concepts, explores them, and hopefully helps us think about things differently.

😀 What is Microsocial?

Microsocial is an experimental approach for taking social media in a new direction, one that explores the potential for a peer-to-peer (P2P) approach to something that traditionally has been much the opposite. While some other excellent alternative projects are creating their vision of what this should look like, maybe it's time to take it in a different direction, one that can be shaped by you, hosted by you, and built by you. Perhaps the answer to a more free form of social media is not just looking at who controls intermediary servers but instead trying to remove them from the structure of these networks.

🔥 What Can Microsocial Do?

  • Enable you to connect with others running Microsocial deployments
  • Grow a live feed populated with posts from connected friends
  • Send messages privately between friends and clear the chat any time
  • Customize your experience with full access to the source code
  • Keep control of your data and the content that you generate
  • Deploy Microsocial for free on a Deta Micro

Deta Micro Installation

Deploy

For manual deployment, first make sure you have the Deta CLI tool installed, then in a terminal:

git clone https://github.com/Gingerbreadfork/microsocial
cd microsocial
deta new
  • If you modify the frontend or the API, give deploy.sh a run; it will rebuild the frontend and redeploy both in seconds.
  • Multiple test micros can be deployed; use different folders and be sure to change the variable dbname in the file config.py
  • The frontend client is a Svelte app and the backend is a Python FastAPI app that also serves the frontend.
  • To disable basic auth for local dev or other testing change the variable localdev in config.py to True

Deployments to Deta Micros rely on HTTP Basic Authentication to provide a simple way to secure them for now, by default the login details are below. You can change these default credentials on the settings tab once you have your deployment up and running. A better onboarding flow is coming soon!

Username: admin
Password: password

🤔 FAQ

Why does it not have insert random feature?
Microsocial is still early, experimental, and finding its footing. It should work pretty reliably, but there's still so much more to do.

How does Microsocial avoid using intermediary servers?
It depends on the feature; for example, the friend system sends a connection request directly to another deployment. If they accept, they send one back, and the cycle completes. Another example is when creating a post in the live feed; your friends will be "notified" directly that you've "done something," and their deployment will check with you for the new content and update the feed.

Is it encrypted?
There are some early stages of experimenting with this, it's nowhere near where it could be, and the implementation where it has been added is incredibly basic. Assume that you aren't protected by encryption for now and act accordingly.

Why Python and Svelte?
Python is amazingly intuitive, and it makes the backend portion of the platform much more approachable. There's minimal use of classes, and the code should be pretty easy to dig around in. On the other side of things, Svelte apps compile to be incredibly lightweight and are fantastic for a "micro stack" like this. Svelte is also very friendly to use, something that is important to make this project more approachable by anyone wanting to contribute.

How is the frontend styled?
Tailwind CSS because manually writing CSS feels a lot like unnecessary suffering, and for fast prototyping something like this project, it's excellent!

How can I show support?
Drop a star on this repository, tell your friends about it, or even share it on those OTHER types of social platforms we all still use, at least for now.

🤗 Want to Contribute?

Anyone is welcome to contribute to Microsocial. It doesn't matter how proficient you are at development if you have a good idea. So your contributions, suggestions, feedback, and anything else you want to throw this way are more than welcome. Microsocial is far from perfect, and many areas could be improved, expanded, and refactored, so there are always opportunities to find something to put into a PR and leave your mark on this repository and whatever Microsocial may become in the future.

Microsocial is a project that attempts to explore things in new ways, so it has inherited some chaotic code in the process. Feel free to help reign that in if you find it interesting. If you want to add a more extensive feature or something that requires additional packages, please keep these new dependencies to a minimum to keep things light and easy to deploy.

💡 Future Goals

  • Expand the codebase to allow for pure local self-hosting
  • Optimize how deployments communicate in terms of speed
  • Minimize the number of requests deployments use
  • Explore other forms of communication and collaboration (audio/video/etc.)
  • Develop alternative clients (e.g., terminal-based client, pure HTML, other frameworks)
  • Standardize a base protocol so alternatives APIs could be created and mingle easily with existing deployments
  • Lockdown some core functionality in the API to help with backward compatibility over time
  • Encrypt all messages and posts to a decent standard
  • Replace all use of browser dialogs with custom modals

🙏 Thanks

Thanks to the Deta team for supporting this obscure vision and encouraging me to build out this concept, and for always offering their help and support along the way. If you want to turn an idea into something more, check out their various offerings (Deta Micros/Drive/Base/Space with more likely on the way) and support them as they continue to offer completely free services for those of us wanting to try things our own way, without having to worry about the resources we may need to get started on a new journey. If you haven't yet, go check them out!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].