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.
Home Page Signup Page Login Page Profile Page Create Event Page Event to Attend Page Attending Events Page Event to Cancel Page Event Index Page
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
- User
- Event
- Attendance
- Ruby 2.7.1
- Ruby on Rails 6.0.3
- Bootstrap 4.3.1
- Rubocop 0.83.0
- Stickler CI
In order to get this webpage up and running, you may have to do a little set up first.
-
Make sure you have both Ruby and Ruby on Rails (Mac โข Linux โข Windows) installed.
-
You can clone or download this repo!
git clone git@github.com:Qoosim/Rails-Private_Events.git
-
cd
into the root directory of the repo. What does 'cd' mean? -
Run below command to get the gems that are needed for this project
bundle install --without production
-
Migrate the databse with the
rails db:migrate
in the terminal -
In your terminal window, enter
rails server
to start the server. -
Now navigate to localhost:3000 in your browser to start playing with the webpages!
- 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
- Commands to run unit tests
rspec spec/controllers
,rspec spec/models
- Command to run integration tests
rspec spec/features
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!
- Fork it
- Create your working branch (git checkout -b [choose-a-name])
- Commit your changes (git commit -am 'what this commit will fix/add/improve')
- Push to the branch (git push origin [chosen-name])
- Create a new Pull Request
Qoosim AbdulGhaniyy
- Github: @Qoosim
- Twitter: @qoosim_ayinde
- Linkedin: qoosim_abdulghaniyy
Give a โญ๏ธ if you like this project!