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!
A beautiful, efficient Trello-inspired project management application built with Rails 8 and modern web technologies.
Note: This project is in active development (v0.0.1). Core functionality is being implemented following modern Rails best practices.
- 🏗️ 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 ✅
- ⚡ 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 will be added as features are implemented. Currently showing basic project structure (v0.0.1)
Before you begin, ensure you have the following installed:
-
Clone the repository
git clone https://github.com/Penfore/our-projects.git cd our-projects
-
Install Ruby dependencies
bundle install
-
Install JavaScript dependencies
npm install
-
Setup database
rails db:create rails db:migrate rails db:seed
-
Start the development server
bin/dev
-
Visit the application
http://localhost:3000
Create a .env
file in the root directory with:
DATABASE_URL=sqlite://db/development.sqlite3
SECRET_KEY_BASE=your_secret_key_here
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
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
- Backend: Ruby on Rails 8.0+
- Database: SQLite
- Frontend: Hotwire (Turbo + Stimulus)
- Styling: TailwindCSS
- Authentication: Devise
- Authorization: Pundit
- Testing: RSpec + FactoryBot
- Deployment: Docker + Kamal
- 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
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
- Rails 8 setup with modern stack
- User authentication and authorization
- Basic project, list, and card models
- Database schema and migrations
- Test framework setup
- Project dashboard and navigation
- Board view with lists and cards
- Basic CRUD operations
- Responsive design implementation
- Turbo Streams for live updates
- Drag and drop functionality
- Real-time collaboration
- Optimistic UI updates
- Card assignments and due dates
- Project statistics and reporting
- Notification system
- Advanced search and filtering
- Performance optimizations
- Accessibility improvements
- Mobile app (optional)
- API for third-party integrations
We love contributions! Please read our Contributing Guide to learn about our development process.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- 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
andrails_best_practices
- 🐛 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
This project embraces modern development practices and acknowledges the role of AI in today's software development landscape.
- 🎯 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
- ✅ 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
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.
This project is licensed under the MIT License - see the LICENSE file for details.
- [Fúlvio Leo] - Initial work - @Penfore
See also the list of contributors who participated in this project.
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Email: fulvioleo.dev@pm.me
- Inspired by Trello for project management workflows
- Built with Ruby on Rails
- Styled with TailwindCSS
- Real-time features powered by Hotwire
- Thanks to all contributors
Made with ❤️ and ☕ by Rails developers, for project managers
If this project helped you, please consider giving it a ⭐!