https://github.com/elkhaligy/planup
A simple responsive todo list application built with Ruby on Rails 7, featuring a beautiful UI with Tailwind CSS and DaisyUI components.
https://github.com/elkhaligy/planup
rails ruby ruby-on-rails
Last synced: 3 months ago
JSON representation
A simple responsive todo list application built with Ruby on Rails 7, featuring a beautiful UI with Tailwind CSS and DaisyUI components.
- Host: GitHub
- URL: https://github.com/elkhaligy/planup
- Owner: elkhaligy
- Created: 2025-07-19T17:28:22.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T20:26:11.000Z (12 months ago)
- Last Synced: 2025-08-13T19:57:31.008Z (11 months ago)
- Topics: rails, ruby, ruby-on-rails
- Language: HTML
- Homepage:
- Size: 502 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ PlanUp - Beautiful Todo List Application





A modern, responsive todo list application built with Ruby on Rails, featuring a beautiful UI with Tailwind CSS and DaisyUI components.
[๐ธ Screenshots](#screenshots) โข [๐ Documentation](#features) โข [๐ ๏ธ Setup](#getting-started)
---
## ๐ธ Screenshots
### ๐ Landing Page

*Clean and modern landing page with navigation and theme switcher*
### ๐ Tasks Overview (Light Theme)

*Main tasks interface showing task cards with priorities, due dates, and actions*
### ๐ Tasks Overview (Dark Theme)

*Same interface in dark theme, showcasing the beautiful theme system*
### โ New Task Modal

*Clean modal interface for creating new tasks with form validation*
---
## โจ Features
### ๐จ **Beautiful UI/UX**
- **Modern Design**: Clean, responsive interface built with Tailwind CSS
- **Theme Support**: 30+ beautiful themes including Light, Dark, Cyberpunk, Synthwave, and more
- **Responsive Layout**: Works perfectly on desktop, tablet, and mobile devices
- **Smooth Animations**: Enhanced user experience with subtle animations
- **Visual Appeal**: See the beautiful interface in the [screenshots section](#screenshots) above
### ๐ **Task Management**
- **Create Tasks**: Add new tasks with title, description, priority, and due date
- **Priority Levels**: High, Medium, Low priority with color-coded badges
- **Due Dates**: Set and track due dates with overdue notifications
- **Status Tracking**: Mark tasks as complete/incomplete
- **Task Organization**: View tasks in a clean card-based layout
### ๐ง **Advanced Features**
- **Real-time Updates**: Turbo Drive for fast, SPA-like navigation
- **Modal Forms**: Clean modal interface for creating new tasks
- **Form Validation**: Client and server-side validation with error handling
- **PWA Ready**: Progressive Web App support with service worker
### ๐ฏ **Developer Experience**
- **Hotwire/Turbo**: Modern Rails approach with minimal JavaScript
- **Stimulus**: Lightweight JavaScript framework for interactions
- **Import Maps**: Modern JavaScript bundling without build tools
- **Docker Support**: Production-ready Docker configuration
- **Comprehensive Testing**: RSpec-style testing setup
---
## ๐ Quick Start
### Prerequisites
- Ruby 3.1.7 or higher
- Rails 7.2.2
- SQLite3
- Node.js (for asset compilation)
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/todo_list.git
cd todo_list
```
2. **Install dependencies**
```bash
bundle install
```
3. **Setup database**
```bash
rails db:create
rails db:migrate
rails db:seed # Adds sample data for testing
```
4. **Start the development server**
```bash
bin/dev
```
5. **Visit the application**
Open [http://localhost:3000](http://localhost:3000) in your browser
> ๐ก **Preview**: Check out the [screenshots section](#screenshots) above to see what the application looks like!
---
## ๐๏ธ Project Structure
```
todo_list/
โโโ app/
โ โโโ controllers/ # Rails controllers
โ โโโ models/ # ActiveRecord models
โ โโโ views/ # ERB templates
โ โ โโโ tasks/ # Task-related views
โ โ โโโ shared/ # Shared components
โ โ โโโ layouts/ # Application layout
โ โโโ assets/ # Stylesheets and images
โ โโโ javascript/ # JavaScript files
โโโ config/ # Rails configuration
โโโ db/ # Database migrations and seeds
โโโ test/ # Test files
โโโ Dockerfile # Production Docker configuration
```
---
## ๐จ UI Components
### Task Cards
- **Priority Badges**: Color-coded (Red=High, Yellow=Medium, Green=Low)
- **Due Date Indicators**: Visual alerts for overdue tasks
- **Status Toggles**: Easy complete/incomplete switching
- **Action Buttons**: Edit and delete with confirmation
### Navigation
- **Responsive Navbar**: Mobile-friendly navigation
- **Theme Switcher**: 30+ beautiful themes
- **Breadcrumbs**: Clear navigation hierarchy
### Forms
- **Modal Dialogs**: Clean, focused task creation
- **Validation**: Real-time error feedback
- **Accessibility**: ARIA labels and keyboard navigation
---
## ๐ ๏ธ Technology Stack
| Technology | Version | Purpose |
|------------|---------|---------|
| **Ruby on Rails** | 7.2.2 | Web framework |
| **Ruby** | 3.1.7 | Programming language |
| **SQLite3** | Latest | Database |
| **Tailwind CSS** | 4.3 | Utility-first CSS framework |
| **DaisyUI** | 4.0 | Component library |
| **Hotwire/Turbo** | Latest | SPA-like navigation |
| **Stimulus** | Latest | JavaScript framework |
| **Import Maps** | Latest | JavaScript bundling |
---
## ๐ฑ PWA Features
- **Service Worker**: Offline functionality
- **Web App Manifest**: Install as native app
- **Responsive Design**: Works on all devices
- **Fast Loading**: Optimized assets and caching
---
## ๐งช Testing
Run the test suite:
```bash
# Run all tests
rails test
# Run specific test files
rails test test/models/task_test.rb
rails test test/controllers/tasks_controller_test.rb
# Run system tests
rails test:system
## ๐ฑ Database Seeding
The application includes comprehensive seed data to demonstrate all features:
### Basic Seeding
```bash
# Load main seed data (20 sample tasks)
rails db:seed
```
### Development Seeding
```bash
# Load additional development data (10 more tasks)
rails db:seed:development
```
### Complete Reset
```bash
# Reset database and load all seed data
rails db:seed:reset
```
### Seed Data Features
- **30 total sample tasks** with realistic content
- **Various priorities**: High, Medium, Low
- **Different due dates**: Past, present, and future
- **Completion status**: Mix of completed and active tasks
- **Overdue tasks**: To demonstrate the overdue feature
- **Realistic descriptions**: Professional task descriptions
---
## ๐ณ Docker Deployment
### Build and Run
```bash
# Build the Docker image
docker build -t todo-list-app .
# Run the container
docker run -d -p 3000:3000 \
-e RAILS_MASTER_KEY=your_master_key \
-e RAILS_ENV=production \
todo-list-app
```
### Environment Variables
- `RAILS_MASTER_KEY`: Rails master key for credentials
- `RAILS_ENV`: Environment (production/development)
- `RAILS_SERVE_STATIC_FILES`: Enable static file serving
---
## ๐ Deployment Options
### Railway (Recommended)
1. Push code to GitHub
2. Connect Railway to your repository
3. Add environment variables
4. Deploy automatically
### Render
1. Create new Web Service
2. Connect GitHub repository
3. Set build command: `bundle install && bundle exec rails assets:precompile`
4. Set start command: `bundle exec rails server`
### Heroku
```bash
heroku create your-app-name
git push heroku main
heroku run rails db:migrate
```
---
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
### Development Guidelines
- Follow Rails conventions
- Write tests for new features
- Use meaningful commit messages
- Update documentation as needed
---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
## ๐ Acknowledgments
- **Rails Team** for the amazing framework
- **Tailwind CSS** for the utility-first CSS approach
- **DaisyUI** for the beautiful component library
- **Hotwire** for the modern Rails approach
---
## ๐ Support
- **Issues**: [GitHub Issues](https://github.com/yourusername/todo_list/issues)
- **Discussions**: [GitHub Discussions](https://github.com/yourusername/todo_list/discussions)
- **Email**: shehabelkhaligy@gmail.com
---
**Made with โค๏ธ using Ruby on Rails**
[โฌ Back to top](#-planup---beautiful-todo-list-application)