A Ruby on Rails 8 application using Mongoid (MongoDB) instead of ActiveRecord, with Tailwind CSS styling for managing events, users, and performers.
Email: admin@djtip.com Password: password123
- Events Management: Create and manage events with title, description, date, and location
- Users Management: Register users for events with contact information
- Performers Management: Add performers to events with bio and genre information
- Relationships: Events can have multiple users and performers
- Tailwind CSS UI: Modern, responsive design with Tailwind CSS
- MongoDB: Uses Mongoid ODM instead of ActiveRecord
title(String) - Event namedescription(String) - Event descriptiondate(DateTime) - Event date and timelocation(String) - Event location- Relationships:
has_many :users,has_many :performers
name(String) - User's full nameemail(String) - User's email addressphone(String) - User's phone number- Relationships:
belongs_to :event(optional)
name(String) - Performer's namebio(String) - Performer's biographygenre(String) - Music genrecontact(String) - Contact information- Relationships:
belongs_to :event(optional)
- Ruby 3.2.0 or higher
- MongoDB installed and running
- Bundler gem
-
Install dependencies:
bundle install
-
Start MongoDB:
# On macOS with Homebrew: brew services start mongodb-community # Or manually: mongod
-
Start the Rails server:
rails server
-
Visit the application: Open your browser and go to
http://localhost:3000
- Create Events: Start by creating events from the main page
- Add Users: Register users and optionally assign them to events
- Add Performers: Add performers and assign them to events
- Manage Relationships: View events to see associated users and performers
The project includes RSpec tests for models, controllers, and API endpoints.
-
Make sure MongoDB test instance is running
-
Run the entire test suite:
bundle exec rspec -
Run specific test files:
bundle exec rspec spec/requests/api/v1/ -
Run tests with specific format:
bundle exec rspec --format documentation -
Run tests and generate coverage report:
COVERAGE=true bundle exec rspec
The app uses MongoDB with the following databases:
- Development:
djtip_development - Test:
djtip_test - Production: Uses
MONGODB_URIenvironment variable
- Rails 8.0: Latest Rails framework
- Mongoid 8.1: MongoDB ODM
- Tailwind CSS: Utility-first CSS framework
- Stimulus: JavaScript framework
- Turbo: SPA-like page acceleration
app/
├── controllers/ # Application controllers
├── models/ # Mongoid models
├── views/ # ERB templates with Tailwind CSS styling
└── assets/ # Stylesheets and JavaScript
config/
├── mongoid.yml # MongoDB configuration
├── routes.rb # Application routes
└── application.rb # Rails configuration
- Fork the repository
- Create a feature branch
- Make your changes
- Test your changes
- Submit a pull request
This project is open source and available under the MIT License.