Skip to content
This repository was archived by the owner on Oct 12, 2025. It is now read-only.
/ our-projects Public archive

Project management system built with Ruby on Rails featuring Kanban interface, Devise authentication, Stimulus drag & drop functionality, and responsive design using Tailwind CSS.

License

Notifications You must be signed in to change notification settings

Penfore/our-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‹ Our Projects

⚠️ REPOSITORY ARCHIVED

This project has been discontinued and archived. It is being replaced by a new version with a different technology stack:

  • Backend: .NET (replacing Ruby on Rails)
  • Frontend: Angular (replacing Hotwire/Stimulus)

The new projects will be available on my GitHub profile when initialized. Thank you for your interest in this project!


Rails 8 Ruby Hotwire TailwindCSS SQLite Version Status License PRs Welcome

🎯 Modern Project Management with Real-time Collaboration

A beautiful, efficient Trello-inspired project management application built with Rails 8 and modern web technologies.


✨ Features

Note: This project is in active development (v0.0.1). Core functionality is being implemented following modern Rails best practices.

🚧 Current Features

  • πŸ—οΈ Modern Rails 8 Architecture - Built with the latest Rails features and conventions βœ…
  • πŸ‘₯ User Authentication - Secure user management with Devise βœ…
  • πŸ“Š Project Management - Create and organize projects with team collaboration βœ…
  • πŸ“ Board Structure - Lists and cards organization (Trello-style) βœ…
  • πŸ”’ Authorization - Role-based access control with Pundit βœ…
  • 🎨 Modern UI - Clean, responsive design with TailwindCSS βœ…

πŸ“‹ Planned Features

  • ⚑ Real-time Updates - Live collaboration with Turbo Streams
  • πŸ–±οΈ Drag & Drop - Intuitive card and list management with SortableJS
  • πŸ“… Due Dates - Task scheduling and deadline tracking
  • πŸ‘€ Card Assignment - Assign tasks to team members
  • πŸ“Š Project Statistics - Track progress and productivity metrics
  • πŸ”” Notifications - Stay updated on project changes
  • πŸ“± Mobile Responsive - Works seamlessly on all devices
  • πŸŒ™ Dark/Light Theme - Multiple theme options
  • πŸ“€ Export/Import - Backup and migrate project data

πŸ“± Screenshots

Screenshots will be added as features are implemented. Currently showing basic project structure (v0.0.1)

πŸš€ Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

Installation

  1. Clone the repository

    git clone https://github.com/Penfore/our-projects.git
    cd our-projects
  2. Install Ruby dependencies

    bundle install
  3. Install JavaScript dependencies

    npm install
  4. Setup database

    rails db:create
    rails db:migrate
    rails db:seed
  5. Start the development server

    bin/dev
  6. Visit the application

    http://localhost:3000
    

Environment Variables

Create a .env file in the root directory with:

DATABASE_URL=sqlite://db/development.sqlite3
SECRET_KEY_BASE=your_secret_key_here

πŸ—οΈ Architecture

This project follows modern Rails conventions and best practices:

  • Rails 8 - Latest Rails features including Solid Queue, Solid Cache, and Solid Cable
  • Hotwire - Real-time interactivity without complex JavaScript frameworks
  • Clean Architecture - Organized code structure for maintainability
  • Component-Based UI - Reusable ViewComponents for consistent design
  • Test-Driven Development - Comprehensive test suite with RSpec

Project Structure

app/
β”œβ”€β”€ controllers/              # Application controllers
β”œβ”€β”€ models/                  # Domain models and business logic
β”œβ”€β”€ views/                   # HTML templates and partials
β”œβ”€β”€ components/              # ViewComponents for reusable UI
β”œβ”€β”€ javascript/              # Stimulus controllers and JavaScript
└── assets/                  # Stylesheets and static assets

spec/                        # Test specifications
β”œβ”€β”€ models/                  # Model tests
β”œβ”€β”€ requests/               # Integration tests
β”œβ”€β”€ features/               # Feature tests
└── factories/              # Test data factories

Tech Stack

  • Backend: Ruby on Rails 8.0+
  • Database: SQLite
  • Frontend: Hotwire (Turbo + Stimulus)
  • Styling: TailwindCSS
  • Authentication: Devise
  • Authorization: Pundit
  • Testing: RSpec + FactoryBot
  • Deployment: Docker + Kamal

Domain Models

  • User - Application users with authentication
  • Project - Main project containers with ownership
  • List - Board columns (To Do, In Progress, Done)
  • Card - Individual tasks within lists
  • ProjectMembership - Team collaboration and permissions

πŸ§ͺ Testing

Run all tests:

bundle exec rspec

Run specific test types:

# Model tests
bundle exec rspec spec/models

# Request tests
bundle exec rspec spec/requests

# Feature tests
bundle exec rspec spec/features

Run tests with coverage:

bundle exec rspec --format documentation

πŸ“‹ Development Roadmap

Phase 1: Core Foundation βœ…

  • Rails 8 setup with modern stack
  • User authentication and authorization
  • Basic project, list, and card models
  • Database schema and migrations
  • Test framework setup

Phase 2: Basic UI Implementation 🚧

  • Project dashboard and navigation
  • Board view with lists and cards
  • Basic CRUD operations
  • Responsive design implementation

Phase 3: Real-time Features πŸ“

  • Turbo Streams for live updates
  • Drag and drop functionality
  • Real-time collaboration
  • Optimistic UI updates

Phase 4: Advanced Features πŸ“

  • Card assignments and due dates
  • Project statistics and reporting
  • Notification system
  • Advanced search and filtering

Phase 5: Polish & Performance πŸ“

  • Performance optimizations
  • Accessibility improvements
  • Mobile app (optional)
  • API for third-party integrations

🀝 Contributing

We love contributions! Please read our Contributing Guide to learn about our development process.

Quick Start for Contributors

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow Ruby Style Guide and Rails Best Practices
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure code passes rubocop and rails_best_practices

Types of Contributions

  • πŸ› Bug reports - Help us identify issues
  • πŸ’‘ Feature requests - Suggest new functionality
  • πŸ”§ Code contributions - Implement features or fix bugs
  • πŸ“š Documentation - Improve docs and examples
  • 🎨 Design - UI/UX improvements
  • 🌍 Translations - Help localize the app

πŸ€– AI-Assisted Development

This project embraces modern development practices and acknowledges the role of AI in today's software development landscape.

Our Position on AI

  • 🎯 AI as a Tool: We recognize that AI tools (like GitHub Copilot, ChatGPT, etc.) are valuable assistants that help developers learn, explore new technologies, and increase productivity
  • πŸ‘₯ Human Review Required: While AI can assist with code generation and problem-solving, all code must be reviewed, understood, and validated by real humans before being merged
  • 🧠 Learning Enhancement: AI tools are excellent for learning new patterns, understanding complex architectures, and exploring different implementation approaches
  • πŸ” Quality Assurance: Contributors should always understand the code they're submitting, regardless of how it was generated

Guidelines for AI-Assisted Contributions

  • βœ… Use AI tools to help with boilerplate code, documentation, or learning new concepts
  • βœ… Review and understand all AI-generated code before submitting
  • βœ… Test thoroughly - AI-generated code should be tested just like any other code
  • βœ… Document your approach - If AI helped solve a complex problem, consider documenting the solution for others
  • ❌ Don't blindly copy-paste AI-generated code without understanding it
  • ❌ Don't rely solely on AI for architectural decisions or critical business logic

The Human Touch

While we embrace AI assistance, we believe in:

  • Human creativity in solving complex problems
  • Human judgment in making architectural decisions
  • Human empathy in understanding user needs
  • Human responsibility for code quality and security

This project is built by humans, for humans, with AI as a helpful companion in our development journey.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors & Contributors

  • [FΓΊlvio Leo] - Initial work - @Penfore

See also the list of contributors who participated in this project.

πŸ“ž Support & Community

πŸ™ Acknowledgments

πŸ“ˆ Project Stats

GitHub stars GitHub forks GitHub issues GitHub pull requests

Made with ❀️ and β˜• by Rails developers, for project managers

If this project helped you, please consider giving it a ⭐!

About

Project management system built with Ruby on Rails featuring Kanban interface, Devise authentication, Stimulus drag & drop functionality, and responsive design using Tailwind CSS.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published