Skip to content

Private Event is an app that allows users to create events and invite other users to their events. Built with Rails 6 and PostgreSQL

Notifications You must be signed in to change notification settings

EricMbouwe/private-events

 
 

Repository files navigation

Private Events

Contributors Forks Stargazers Issues


Microverse Logo

Private Events Application

This project is part of the Microverse curriculum in Ruby On Rails course!
Explore the docs »

Report Bug Request Feature

Private Events allows users to create events and invite other users to their events.


Table of Contents


Application Screen Shots

Sign Up

program interface


Log In

program interface


Users List

program interface


User show

program interface


New event

program interface


Events List

program interface


Event show of non-creator

program interface


Event show of creator

program interface


About The Project

The project creates a database which holds 3 tables:

- Users : Is the table containing the users' data
  - Fields :
    - string: name
    - datetime: created_at
    - datetime: update_at

- Events : is the table containing the events' data
  - Fields:
    - text: description
    - string: location
    - datetime: event_date
    - integer: user_id
    - datetime: created_at
    - datetime: update_at

  - user_id is the id of the creator user

- Events_Users : is the Join Table that contains the users' events attendance
  - Fields :
    - integer: use_id
    - integer: event_id

Constraints for tables are as follows:

  • Users Table

    • name: required
  • Events Table

    • description: required
    • location: required
    • event_date : required

We added our styling choices editing the application.css file


Future Features

Following version may include

  • Creators of the each event may add images and other media, so users may have a taste of what to expect before the event
  • Attendees may add comments and media on each event, so they can feed-back their experience

Application Instructions

  • New users must sign up and give a name, otherwise they can only access the events index
  • Using just their name they can log in
  • A logged in user can create events and invite other users to attend those events
  • Invitations or removals can be applied from the event's show page by clicking
    • 'Invite' in the 'Select Attendees' list, or
    • remove invitation by clicking 'Remove' at the 'Attendees' list
  • An event requires a description, a location and an event date
  • Users also can register to attend other's users' events
  • Users can edit or delete their own created events and their own account

System Requirerments

  • Ruby
  • Rails
  • Yarn
  • RSpec

Dependencies

  • rspec-rails gem
  • capybara gem
  • selenium-webdriver gem
  • chromedriver-helper gem

Configuration

  • first, clone the project Run
  git clone https://github.com/ioanniskousis/private-events.git
  • Install the necessary dependancies Run
  bundle install
  rails generate rspec:install
  yarn install

Development

  • Clone the project
  https://github.com/ioanniskousis/private-events.git

Testing

  • Tests have been included using RSpec for controllers, views and models
  • Location /spec/
  • 6 test files
    • main_menu_spec.rb
      Tests the functionality of the application's menu bar buttons
    • controllers/events_controller_spec.rb
      Tests the actions of the events controller
    • controllers/session_controller_spec.rb
      Tests the actions of loging in ang logging out
    • controllers/user_controller_spec.rb
      Tests the actions of users controller
    • models/event_spec.rb
      Tests the functionallity of event model
    • models/user_spec.rb
      Tests the functionality of user model

Controller test files implement the views tests as well.


Built With

This project was built using these technologies.

  • Ruby version 2.6
  • Ruby On Rails version 6.0
  • rspec
  • capybara

Contributors

👤 Author_1

Ioannis Kousis

👤 Author_2

Eric Mbouwe


Acknowledgements

About

Private Event is an app that allows users to create events and invite other users to their events. Built with Rails 6 and PostgreSQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Ruby 67.6%
  • HTML 22.3%
  • CSS 5.2%
  • JavaScript 4.9%