/Rails-Private_Events

This project tested my knowledge of association in rails. It is a project where users can signup or sign in, create events, send invitations to events, and attend many parties. Technologies used are Ruby, Ruby on Rails, HTML5 && CSS3, Bootstrap, and RSpec and Capybara

Primary LanguageRuby

๐Ÿ” Private-Events - Rolling My Own Associations

This project is part of series of projects to be completed by students of Microverse.

In this project, I built a simple, exclusive site similar to a private Eventbrite which allows users to create events and then manage the users signups. Users can create events and send invitations and parties. A user can create events. A user can attend many events. An event can be attended by many usesrs.


๐Ÿ’ป Previews

Home Page Home Signup Page Signup Login Page Login Profile Page Profile Create Event Page Create Event to Attend Page Attend Attending Events Page Attending Event to Cancel Page Cancel Event Index Page Index

๐ŸŽฏ The Project Brief

The specifications and the guides to the project can be found on The Odin Project's Project: Private Events page.

This project focuses heavily on testing our understanding of associations on web apps. Specifically, in this project we are given the task to build a site where users can create events, invite other users to an events and where an event can be attended by many users. The ability to create associations among those objects is the main focus of the project.

The associations systems implemented into this project include:

  • User authentication - Password encryption and password digest storage to avoid storing raw user passwords
  • Session for user authentication

๐Ÿงฐ Models Created

  • User
  • Event
  • Attendance

๐Ÿ› ๏ธ Built with

  • Ruby 2.7.1
  • Ruby on Rails 6.0.3
  • Bootstrap 4.3.1
  • Rubocop 0.83.0
  • Stickler CI

๐Ÿ“ผ Setup & Usage

Setup

In order to get this webpage up and running, you may have to do a little set up first.

  1. Make sure you have both Ruby and Ruby on Rails (Mac โ€ข Linux โ€ข Windows) installed.

  2. You can clone or download this repo!

    git clone git@github.com:Qoosim/Rails-Private_Events.git

  3. cd into the root directory of the repo. What does 'cd' mean?

  4. Run below command to get the gems that are needed for this project

    bundle install --without production

  5. Migrate the databse with the rails db:migrate in the terminal

  6. In your terminal window, enter rails server to start the server.

  7. Now navigate to localhost:3000 in your browser to start playing with the webpages!

๐ŸŽ‰ Features

  • New Users can sign up with secure password
  • Users can log into the app
  • Not logged users can see the events at events_path
  • Logged users can create new events
  • Logged users can attend upcoming events
  • User profile shows upcoming and past events
  • Logged users already attending an event can cancel the attendance
  • User profile shows events created by the user

๐Ÿงช How to run test cases

  • Commands to run unit tests rspec spec/controllers, rspec spec/models
  • Command to run integration tests rspec spec/features

๐Ÿ•น๏ธ Contributions, Issues & Forking

If you have any issues setting up the project or you come across any unintended bugs or problems, please do submit an issue to the Private Events page.

If you want to make your own changes, modifications or improvements to this project, go ahead and Fork it!

  1. Fork it
  2. Create your working branch (git checkout -b [choose-a-name])
  3. Commit your changes (git commit -am 'what this commit will fix/add/improve')
  4. Push to the branch (git push origin [chosen-name])
  5. Create a new Pull Request

๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป Author

Qoosim AbdulGhaniyy

๐Ÿงด Show Your Support

Give a โญ๏ธ if you like this project!