Buggy Meter is a social media application similar to Instagram, built using Ruby on Rails with PostgreSQL as the database.
- Introduction
- System Overview
- Features
- Requirements
- Installation
- Configuration
- Database Setup
- Running the Application
- Deployment
- Screenshots
- Contributing
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.
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.
- 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.
- Ruby 3.x
- Rails 7.x
- PostgreSQL
- Docker (optional, for containerized development)
- Node.js and Yarn (for managing JavaScript dependencies)
-
Clone the repository:
git clone https://github.com/seamoonpandey/buggy-meter.git cd buggy-meter
-
Install dependencies:
bundle install yarn install
-
Set up environment variables:
Create a
.env
file in the root directory and add the following:DATABASE_USERNAME=your_postgres_username DATABASE_PASSWORD=your_postgres_password
-
Update
config/database.yml
with your PostgreSQL configuration.
-
Create and migrate the database:
rails db:create rails db:migrate
-
Seed the database with initial data (if available):
rails db:seed
Start the Rails server:
rails server
Access the application at http://localhost:3000
.
-
Ensure you have Heroku CLI installed and are logged in.
-
Create a new Heroku app:
heroku create
-
Deploy to Heroku:
git push heroku main heroku run rails db:migrate
-
Open the app in your browser:
heroku open
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.