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: [email protected]
- 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 β!