Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seamoonpandey/buggy-meter
social media like instagram built on top of ruby on rails fullstack and postgresql as database, TBH ( It's an STW, a total shit that works)
https://github.com/seamoonpandey/buggy-meter
psql rails ruby ruby-on-rails social-app swt
Last synced: about 1 month ago
JSON representation
social media like instagram built on top of ruby on rails fullstack and postgresql as database, TBH ( It's an STW, a total shit that works)
- Host: GitHub
- URL: https://github.com/seamoonpandey/buggy-meter
- Owner: seamoonpandey
- Created: 2023-11-03T06:52:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-26T16:10:35.000Z (4 months ago)
- Last Synced: 2024-09-28T18:03:50.504Z (about 2 months ago)
- Topics: psql, rails, ruby, ruby-on-rails, social-app, swt
- Language: Ruby
- Homepage:
- Size: 122 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Buggy Meter
Buggy Meter is a social media application similar to Instagram, built using Ruby on Rails with PostgreSQL as the database.
## Table of Contents
- [Introduction](#introduction)
- [System Overview](#system-overview)
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Configuration](#configuration)
- [Database Setup](#database-setup)
- [Running the Application](#running-the-application)
- [Deployment](#deployment)
- [Screenshots](#screenshots)
- [Contributing](#contributing)## Introduction
Buggy Meter is designed to offer a comprehensive social media experience, focusing on simplicity and essential features. Users can register, create profiles, post images, like, and comment on posts. The application emphasizes a streamlined user interface and robust backend support.
## System Overview
The Buggy Meter application follows a typical MVC (Model-View-Controller) architecture of Rails, ensuring a clean separation of concerns and scalable codebase. PostgreSQL is used for data persistence, leveraging its reliability and performance.
## Features
- **User Authentication**: Secure user registration and login.
- **Profile Management**: Users can create and update their profiles.
- **Image Uploading**: Post images with descriptions.
- **Social Interactions**: Like and comment on posts.
- **Follow System**: Follow other users to see their posts in the feed.## Requirements
- Ruby 3.x
- Rails 7.x
- PostgreSQL
- Docker (optional, for containerized development)
- Node.js and Yarn (for managing JavaScript dependencies)## Installation
1. Clone the repository:
```bash
git clone https://github.com/seamoonpandey/buggy-meter.git
cd buggy-meter
```2. Install dependencies:
```bash
bundle install
yarn install
```## Configuration
1. Set up environment variables:
Create a `.env` file in the root directory and add the following:
```plaintext
DATABASE_USERNAME=your_postgres_username
DATABASE_PASSWORD=your_postgres_password
```2. Update `config/database.yml` with your PostgreSQL configuration.
## Database Setup
1. Create and migrate the database:
```bash
rails db:create
rails db:migrate
```2. Seed the database with initial data (if available):
```bash
rails db:seed
```## Running the Application
Start the Rails server:
```bash
rails server
```Access the application at `http://localhost:3000`.
## Deployment
1. Ensure you have Heroku CLI installed and are logged in.
2. Create a new Heroku app:
```bash
heroku create
```3. Deploy to Heroku:
```bash
git push heroku main
heroku run rails db:migrate
```4. Open the app in your browser:
```bash
heroku open
```## Screenshots
### Home Page
![image](https://github.com/user-attachments/assets/8b8e766c-2fbb-4c85-9b58-f69344c81239)### User Profile
![image](https://github.com/user-attachments/assets/9a396962-e8b0-4dcb-ba00-1070aa0e28ee)### Post Creation
![image](https://github.com/user-attachments/assets/aa9b89b4-92bd-429d-b2d2-73a255a8ff1f)## Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/your-feature`).
5. Create a new Pull Request.