An open API service indexing awesome lists of open source software.

https://github.com/jakubschwenkbeck/social-media

A Ruby on Rails social media app where users can create posts, follow others, and interact through comments and likes. Built with Devise for authentication and SQLite for development, this app demonstrates a basic social networking platform.
https://github.com/jakubschwenkbeck/social-media

Last synced: about 2 months ago
JSON representation

A Ruby on Rails social media app where users can create posts, follow others, and interact through comments and likes. Built with Devise for authentication and SQLite for development, this app demonstrates a basic social networking platform.

Awesome Lists containing this project

README

        

# **Anecdote**

**Anecdote** is a Ruby on Rails-based **social** media platform designed to foster **collaborative** **memory** sharing among friends. Unlike traditional social media that emphasizes following celebrities or influencers, **Anecdote** is all about **connecting** with your friends and collectively creating and sharing stories, photos, and experiences. Whether it's sharing **funny** anecdotes from a recent vacation, documenting life events, or simply keeping up with each other’s daily lives, **Anecdote** makes it easy and fun.

## Features

### 1. **User Authentication**
- **Sign Up and Log In:** Users can register, log in, and manage their accounts securely using the Devise gem.
- **Profile Management:** Users can update their profile information, including a profile picture and biography, to personalize their experience.

### 2. **Posts**
- **Create and Edit Posts:** Users can create posts to share their stories, experiences, and thoughts. Posts can be edited or deleted as needed.
- **Multimedia Support:** Attach images to posts to visually enrich your stories and experiences.
- **Post Organization:** Posts are displayed in reverse chronological order, making it easy to stay updated on the latest content.

### 3. **Friendships**
- **Friend Requests:** Users can send and accept friend requests to connect with others on the platform.
- **Symmetrical Friendships:** Once a friend request is accepted, both users become friends, allowing them to see and interact with each other's content.
- **Manage Friendships:** Users can view their friends list, remove friends, and manage their connections from their profile.

### 4. **Collaborative Memory Sharing**
- **Storytelling:** Users can collaborate with friends to create long, interconnected stories, where multiple users contribute to a shared narrative, enhancing the collective memory experience.
- **Gallery for Shared Photos:** Easily create and share galleries where friends can collectively add photos, capturing the essence of shared experiences and events.
- **Standard Posts:** Users can still create individual posts to share personal anecdotes, stories, or thoughts.

### 5. **Responsive Design**
- **User-Friendly Interface:** Anecdote is designed to be responsive, providing an optimal viewing experience across a wide range of devices in the web, from mobile phones to desktop computers.

### 6. **AI for Recommendations and Sentiment Analysis**
- **Personalized Recommendations:** Anecdote uses AI to suggest friends, groups, or content that aligns with your interests and interactions, making your experience more engaging and relevant.
- **Sentiment Analysis:** The platform can analyze the sentiment of posts and comments, offering insights into the emotional tone of shared content, and promoting positive interactions within the community.

### 7. **Notifications (Planned)**
- **Stay Informed:** Future updates will include notifications to keep users informed of new friend requests, comments, and likes on their posts.

## Getting Started
## Screenshots

### Sign Up
Sign Up Page

### Main Page
Main Page

### Profile
Profile Page

### Why Ruby On Rails?
**Ruby on Rails excels in web development with the following features:**
- **MVC Architecture**: Separates concerns into Models (data), Views (UI), and Controllers (logic), promoting clean code and easier maintenance.
- **Active Record**: Simplifies database integration by allowing interactions with database records as Ruby objects, enhancing data management and reducing boilerplate code.
- **ERB Templates**: Embeds Ruby code into HTML, enabling dynamic content generation within views.
- **SCSS**: Provides advanced styling capabilities, making it easy to create responsive and visually appealing designs.
- **Convention Over Configuration**: Reduces decision-making and setup time with sensible defaults, accelerating development.

### Prerequisites

- **Ruby:** Version 3.x or higher
- **Rails:** Version 6.x or higher
- **SQLite3:** Used as the database in development

### To get started with this project:
(This repo is not the full directory as there are sensitive informations, if you want to have a full working repo, contact me :))
1. **Clone the Repository:**
`git clone https://github.com/JakubSchwenkbeck/Social-Media/.git`
2. **Navigate to the Root Directory:**
`cd Anecdote `
3. **Run the App** Use `rails server` to put up a local server accessible by visiting http://localhost:3000/.