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.
Authors · Overview · Features · Structure · Results · Quick Start · Usage Guidelines · License · About · Acknowledgments
Important
Special thanks to Mega Satish for her meaningful contributions, guidance, and support that helped shape this work.
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.
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.
| 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
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.
- 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
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 EntranceLanding page of the Friends App application.
Sign Up
User registration interface.
Sign In
Secure authentication login.
Edit Profile
User account management settings.
Add Friend (Create)
Interface for adding new contacts.
Show Friend (Read)
Detailed view of a contact (Top Section).
Detailed view of a contact (Bottom Section).
Update Friend (Update)
Form for editing contact details.
Delete Friend (Delete)
Confirmation modal for removing a contact.
- 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.
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\ CodeInstall the required gems (Rails, Devise, Bootstrap) defined in the Gemfile:
bundle installInitialize and migrate the database:
rails db:migrateLaunch the primary Rails server loop:
rails serverAccess the application at http://localhost:3000.
Verify the system integrity using Minitest:
rails testTip
Live Demo
You can interact with the app instantly in your browser without any installation via our Cloud deployment:
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.
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
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
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
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.
Authors · Overview · Features · Structure · Results · Quick Start · Usage Guidelines · License · About · Acknowledgments
Computer Engineering (B.E.) - University of Mumbai
Semester-wise curriculum, laboratories, projects, and academic notes.




