A modern Rails platform for whiskey enthusiasts to discover, share, and savor whiskey together. Join exclusive clubs, RSVP to tastings, and access professional presentations to host world-class whiskey experiences.
- Full-width hero section with modern glassmorphism design
- Interactive "How it Works" section with sticky scroll
- Societies overview with public/private club information
- Pricing plans with subscription tiers ($15.99/month, $12.99/quarterly, $10.99/yearly)
- Public & Private Societies with different access levels
- Role-based membership (Admin, Officer, Member)
- Application system for private societies
- Event coordination and forum features
- Search and filter functionality
- 12 professional presentations covering all whiskey types
- Interactive search with real-time filtering
- Detailed modal views with tasting notes and recommendations
-
Whiskey recommendations with price ranges (
$, $ $, $$$) - Purchase system for individual presentations
- Event creation and management
- RSVP system for society members
- Event details and coordination tools
- Authentication with Devise
- User profiles and preferences
- Society memberships and applications
- Ruby 3.2+
- PostgreSQL 14+
- Node.js 18+
- Docker (optional)
-
Clone the repository
git clone https://github.com/wsethbrown/wss.git cd wss -
Install dependencies
bundle install npm install
-
Database setup
rails db:create rails db:migrate rails db:seed
-
Start the development server
bin/dev
-
Visit the application
http://localhost:3000
-
Build and run with Docker Compose
docker-compose up --build
-
Or use the provided Dockerfile
docker build -t whiskey-share-society . docker run -p 3000:3000 whiskey-share-society
- Rails 7.1+ - Modern Ruby web framework
- Ruby 3.2+ - Latest Ruby with performance improvements
- PostgreSQL - Robust relational database
- Devise - Authentication and user management
- Pundit - Authorization policies
- Hotwire - Modern Rails frontend approach
- Tailwind CSS 3.3+ - Utility-first CSS framework
- Stimulus - Lightweight JavaScript framework
- Turbo - Fast navigation and form handling
- Docker - Containerization for consistent environments
- GitHub Actions - CI/CD pipeline
- Kamal - Modern Rails deployment
- RuboCop - Code quality and style enforcement
wss/
├── app/
│ ├── controllers/ # Rails controllers
│ ├── models/ # ActiveRecord models
│ ├── views/ # ERB templates
│ ├── assets/ # Images and static files
│ └── javascript/ # Stimulus controllers
├── config/ # Rails configuration
├── db/ # Database migrations and seeds
├── public/ # Static files
└── vendor/ # Third-party dependencies
- Glassmorphism effects with backdrop blur
- Gradient backgrounds and smooth animations
- Responsive design that works on all devices
- Accessible with proper contrast and keyboard navigation
- Intuitive navigation with clear visual hierarchy
- Fast, responsive interactions with minimal loading times
- Progressive enhancement for better accessibility
- Mobile-first design approach
Create a .env file in the root directory:
# Database
DATABASE_URL=postgresql://localhost/wss_development
# Rails
RAILS_ENV=development
SECRET_KEY_BASE=your_secret_key_here
# Devise
DEVISE_SECRET_KEY=your_devise_secret_hereThe application uses PostgreSQL by default. Update config/database.yml for your environment:
development:
adapter: postgresql
database: wss_development
host: localhost
username: your_username
password: your_password-
Set environment variables
export RAILS_ENV=production export SECRET_KEY_BASE=$(rails secret)
-
Precompile assets
rails assets:precompile
-
Database setup
rails db:migrate rails db:seed
# Build production image
docker build -f Dockerfile.prod -t wss:production .
# Run with environment variables
docker run -d \
-p 3000:3000 \
-e RAILS_ENV=production \
-e SECRET_KEY_BASE=your_secret \
wss:production- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Ruby style guidelines with RuboCop
- Write tests for new features
- Update documentation as needed
- Ensure responsive design works on all screen sizes
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for whiskey enthusiasts everywhere
Discover. Share. Savor.