RReiso / BeMyGuest

An event planner app built with Ruby on Rails

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Balloons
BeMyGuest

A stress-free event planner for perfect events

Description

This is an event planner app that was built as a final project for Harvard's CS50 Introduction to Computer Science course. It aims to help users organize events by managing shopping, to do and guest lists. Short video

Key Features

  • Sign up and Log in
  • Secure passwords
  • Remember me
  • Changing password
  • Creating events
  • Writing and saving event notes
  • Adding contacts to the contact book
  • Adding guests to the guest list from the contact book (same contacts can be added to the guest lists of different events without typing their information all over again)
  • Managing guests' RSVP status (not invited, waiting for reply, confirmed etc.)
  • Managing shopping and to do lists

Project Screenshots

Built With

Installation

Clone the repository:

git clone git@github.com:RReiso/BeMyGuest.git
cd BeMyGuest

Install dependencies:

bundle && yarn

Initialize the database:

rails db:create db:migrate db:seed

Start the server:

rails s

You can see the project running at http://localhost:3000

Future Improvements

  • Improve password change
  • User authentication
  • Include event budget management

Reflection

With this project I expanded my knowledge in writing model validations (using attributes like presence, inclusion, format, acceptance etc.), witnessed the importance of writing and running model, controller and integration tests that I wrote using Minitest, practiced writing helper methods and creating model associations, and learned how to use SASS to modify Bootstrap themes.

One of the main difficulties I faced was combining data from existing data tables (Events, Contacts) into a third table (Connections). Creating a Connection model and using foreign keys allowed contacts to be added as guests to multiple events without repeating information from Contacts and Events tables. Working on design and coloring has also been a challenge and I tried to create as smooth user experience as I could.

About

An event planner app built with Ruby on Rails


Languages

Language:Ruby 61.4%Language:HTML 29.8%Language:JavaScript 4.6%Language:SCSS 4.2%Language:Procfile 0.0%