Skip to content

Friends App Using Ruby on Rails with PostgreSQL database deployed on Heroku. [Heroku → Render]

License

Notifications You must be signed in to change notification settings

Amey-Thakur/RUBY-ON-RAILS-FRIENDSAPP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Friends App

License: MIT Status Technology Developed by Amey Thakur and Mega Satish

A high-fidelity, modular web-based Contact Management System engineered in Ruby on Rails, demonstrating strict adherence to Model-View-Controller (MVC) principles and responsive User Interface (UI) design within a browser environment.

Source Code  ·  Technical Specification  ·  Live Demo


Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


Important

🤝🏻 Special Acknowledgement

Special thanks to Mega Satish for her meaningful contributions, guidance, and support that helped shape this work.


Overview

Friends App is a robust interactive system engineered to demonstrate the elegance and efficiency of Ruby on Rails' Model-View-Controller architecture. By bridging the gap between foundational algorithms and modern web development, this repository provides a comprehensive study into systematic software engineering and logical state orchestration.

The application serves as a digital exploration of CRUD operations and responsive web interaction, structured into modular components that ensure maintainability and high-performance execution directly within the browser environment.

This project was developed as a distinctive milestone during the 30-Day Ruby Challenge, a collaborative engineering sprint undertaken by Amey Thakur and Mega Satish. It represents the practical synthesis of concepts explored in the comprehensive Ruby Repository, demonstrating the transition from theoretical study to production-grade implementation. It marks a significant achievement as the First Ruby on Rails Project in this learning journey.

Engineering Heuristics

The interaction model is governed by strict computational design patterns ensuring fidelity and responsiveness:

  • Modular Orchestration: The system utilizes a specialized architecture (Controllers, Models, Views) for complex logic separation, providing a tactile confirmation for every user action.
  • State Integrity: Beyond simple storage, the system integrates a validation engine (ActiveRecord) that dynamically verifies every input, reinforcing the deterministic narrative of the data flow.
  • Responsive Feedback: Real-time Bootstrap rendering ensures the interface remains synchronized, maintaining a zero-latency bridge between raw user input and visual updates.

Tip

Logic-Driven Interaction

To maximize user engagement, the system employs a multi-stage validation system. Visual flash messages visualize the current state, and deterministic controllers provide immediate feedback, strictly coupling user goals with state changes. This ensures the user's mental model is constantly synchronized with the underlying application trajectory.


Features

Feature Description
Tactile Interaction Implements Real-Time Visual Feedback for intuitive and high-impact user actions.
Modular MVC Custom Model-View-Controller Architecture ensuring clean separation of data and logic.
Logic Verification Robust Active-Record Validation ensuring mission data survives invalid input events.
Secure Authentication A deterministic Devise Authentication Sequence that ensures assets are protected before interaction.
Dynamic CRUD Integrated Resource Orchestration Engine for visual and structural data management.
Responsive UI High-Fidelity Bootstrap Scanners that adapt layout to viewing device milestones.
Zero-Latency Runtime Deployed via Heroku/Render with Puma-based non-blocking I/O for a native feel in the browser.
Structural Clarity In-depth and detailed comments integrated throughout the codebase for transparent logic study.

Note

Interactive Polish: The Visual Corridor

We have engineered a Logic-Driven Display Manager (Bootstrap 5) that calibrates layout consistency across multiple vectors to simulate professional web environments. The visual language focuses on the minimalist "Visual Corridor" aesthetic, ensuring maximum focus on the interactive strategy trajectory.

Tech Stack

  • Language: Ruby 3.x
  • Framework: Ruby on Rails 7.x
  • Database: SQLite3 (Dev) / PostgreSQL (Prod)
  • Frontend: Bootstrap 5 via Importmaps
  • Authentication: Devise Gem
  • Testing: Minitest (System & Integration)
  • Code Quality: RuboCop (Static Code Analysis)
  • Tooling: Built for Web Environments

Project Structure

RUBY-ON-RAILS-FRIENDSAPP/
│
├── docs/                            # Project Documentation
│   ├── Rails_Logo.png               # Branding Asset
│   └── SPECIFICATION.md             # Technical Architecture
│
├── Mega/                            # Attribution Assets
│   ├── Filly.jpg                    # Companion (Filly)
│   ├── Mega.png                     # Profile Image (Mega Satish)
│   └── ...                          # Additional Media
│
├── screenshots/                     # Documentation Assets
│   ├── 01_home_page.png             # UI Screenshot
│   └── ...                          # Visual Evidence
│
├── Source Code/                     # Primary Application Layer
│   ├── app/                         # Core Logic
│   │   ├── controllers/             # Action Dispatchers
│   │   ├── models/                  # Data Logic
│   │   └── views/                   # UI Templates
│   ├── config/                      # Environment Configuration
│   ├── db/                          # Database Schema
│   ├── test/                        # Verification Layer
│   ├── Gemfile                      # Dependency Definitions
│   └── Gemfile.lock                 # Dependency Lockfile
│
├── SECURITY.md                      # Security Protocols
├── CITATION.cff                     # Project Citation Manifest
├── codemeta.json                    # Metadata Standard
├── LICENSE                          # MIT License
└── README.md                        # Project Entrance

Results

Home Page
Landing page of the Friends App application.

Home Page


Sign Up
User registration interface.

Sign Up


Sign In
Secure authentication login.

Sign In


Edit Profile
User account management settings.

Edit Profile


Add Friend (Create)
Interface for adding new contacts.

Create Friend


Show Friend (Read)
Detailed view of a contact (Top Section).

Show Friend Top

Detailed view of a contact (Bottom Section).

Show Friend Bottom


Update Friend (Update)
Form for editing contact details.

Update Friend


Delete Friend (Delete)
Confirmation modal for removing a contact.

Delete Friend


Friends List
Comprehensive dashboard of all saved contacts.

Friends List


Sign Out
Successful logout confirmation flash message.

Sign Out


Quick Start

1. Prerequisites

  • Ruby 3.3+: Required for runtime execution. Download Ruby
  • Bundler: For managing gem dependencies. (gem install bundler)
  • Git: For version control and cloning. Download Git
  • Node.js: Optional, for advanced asset compilation.

Warning

Runtime Environment Isolation

The application is designed for modern web browsers. Ensure your browser supports ES6 Modules if you wish to see the full fidelity of the responsive interactions.

2. Installation & Setup

Step 1: Clone the Repository

Open your terminal and clone the repository:

git clone https://github.com/Amey-Thakur/RUBY-ON-RAILS-FRIENDSAPP.git
cd RUBY-ON-RAILS-FRIENDSAPP/Source\ Code

Step 2: Install Dependencies

Install the required gems (Rails, Devise, Bootstrap) defined in the Gemfile:

bundle install

Step 3: Database Migration

Initialize and migrate the database:

rails db:migrate

3. Execution

Start the Server

Launch the primary Rails server loop:

rails server

Access the application at http://localhost:3000.

Run Tests

Verify the system integrity using Minitest:

rails test

Tip

Live Demo

You can interact with the app instantly in your browser without any installation via our Cloud deployment:

👉🏻 Launch Friends App Live


Usage Guidelines

This repository is openly shared to support learning and knowledge exchange across the engineering community.

For Students
Use this project as reference material for understanding Ruby on Rails MVC Architecture, Web Input/Output Handling, and Modular Logic Separation. The source code is available for study to facilitate self-paced learning and exploration of classic web patterns and UI design principles.

For Educators
This project may serve as a practical lab example or supplementary teaching resource for Web Development, Object-Oriented Design, and Full-Stack Engineering courses. Attribution is appreciated when utilizing content.

For Researchers
The documentation and architectural approach may provide insights into systematic project structuring, Rails-based logic verification, and visual feedback loops in web-based software.


License

This repository and all its creative and technical assets are made available under the MIT License. See the LICENSE file for complete terms.

Note

Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original authors.

Copyright © 2022 Amey Thakur & Mega Satish


About This Repository

Created & Maintained by: Amey Thakur & Mega Satish

Relevant Repository: RailsFriends - Amey Thakur (Active Deployment on Render)

Collaborator's Repository: Ruby on Rails Friends App - Mega Satish (Original Repository used for Coding and Deployment)

This project features Friends App, a logic-driven interactive contact management system. It represents a personal exploration into Rails-based class orchestration and high-performance web design. It was developed as a key project within the 30-Day Ruby Challenge, marking a significant step in the mastery of the framework as our First Ruby on Rails Project.

Important

🏛️ Original Deployment Archive

The application was originally deployed on Heroku by Mega Satish.

About: "Friends App Using Ruby on Rails with PostgreSQL database deployed on Heroku."

Heroku Deployment Link: rubyonrailsfriendwebapp.herokuapp.com

Note: This link is preserved here for historical context and authenticity of the initial launch.

Note: Due to Heroku's discontinuation of their free tier services, the active live deployment has been migrated to Render.

Connect: GitHub  ·  LinkedIn  ·  ORCID

Acknowledgments

Grateful acknowledgment to Mega Satish for her exceptional collaboration, mentorship, and partnership during the development of this Friends App project. As a key co-author, her contributions were fundamental to the system's architecture and successful deployment. Her constant support, technical clarity, and dedication to software quality were instrumental in achieving the system's functional objectives. Beyond code, learning alongside her was a transformative experience; her thoughtful approach to problem-solving and steady encouragement turned complex requirements into meaningful learning moments. She provided critical guidance on Ruby on Rails best practices, MVC architecture, and production deployment strategies, ensuring the project met high engineering standards. This work reflects the growth and insights gained from our side-by-side journey. Thank you, Mega, for everything you shared and taught along the way.

Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning experience.


↑ Back to Top

Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


Friends App


Computer Engineering (B.E.) - University of Mumbai

Semester-wise curriculum, laboratories, projects, and academic notes.