**Completed the necessary steps in building a private events site similar to Eventbrite, which allows users to create events and then manage user signups using the following criteria:
- Users can create events and send invitations and parties.
- Events take place at a specific date and at a location.
- A user can create events.
- A user can attend many events.
- An event can be attended by many users.
Ruby Ruby on Rails Sqlite3 PostgresSQL
- Models,Views and Controllers
- Gem installations
- Validations
- Relationships
- Migrations
- Hirb
- Bootstrap
- Authentication from scratch
- Models
- User
- Event
- Event_attending
- Validations
- User name, email and password validations for length and uniqueness.
- Event title and description validations
- Associations
- belongs_to for a one-to-one connection
- has_many for a many-to-many connection among models
- A Few Gems:
- Using the Gemfile to Set up a RubyGem: In this iteration we took take advantage of the many plugins and libraries available to quickly add features and error handlers to your application. The bootstrap plugin gem was added and used for styling the UI.
- Migrations Migrations were run to:
- Add Fields to users
- Create User model
- Create Event model
- Create Event_attending model
- Add id for event to event_attending model
- Add creator_id to event model
- Add index on event_id in event attending model
Ruby, RubyGems, sqlite3, yarn and node
- Compulsory Installations:
- Git
- Ruby 2.7.1 or latest version
- RVM
- A few Gems
-
Rails Setup: Next we need to install dependencies and setup the database.
-
Rails Console: Check that the console is working properly by running $ rails console in your terminal. Run association tests in console to test for model connections.
-
Run bundle install in the terminal to install gems and their dependencies.
-
Run rails db:migrate to update the database.
-
Run rails s or rails server in the terminal to start the server.
- To clone the repo to your local repository. Follow this steps
git clone https://github.com/Rumbie-Mudzie7/private-events.git
cd private-events
The following gems were run and installed before implementing the rspec tests:
gem 'database_cleaner', '> 1.8', '>= 1.8.5'
gem 'rspec-rails', '> 4.0', '>= 4.0.1'
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
gem 'webdrivers'
gem 'shoulda-matchers', '~> 4.4', '>= 4.4.1'
Find rspec tests in the spec/features directories:
- sign_in_spec.rb
- sign_up_spec.rb
- sign_out_spec.rb
- events_spec.rb
👤 Rumbidzayi Mudziviri
- Github: @Rumbie-Mudzie7
- Twitter: @RumbidzayiMudz3
- Linkedin: rumbidzayimudziviri
- rumbiemudzie@gmail.com
👤 Clayton Siby
- Github: @Clayton Siby
- Twitter: @ClaytonSiby
- Linkedin: linkedin
- claytonsiby@gmail.com
Contributions, issues and feature requests are welcome!
Feel free to check the fork this repo and create pull request if you want to make changes.
Give a ⭐️ if you like this project!
The Odin project Guide: https://www.theodinproject.com/courses/ruby-on-rails/lessons/