Skip to content
This repository was archived by the owner on Mar 11, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion app/controllers/clubs_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def create
flash[:notice] = "#{@club.name} was successfully created."
@club.memberships.create!(user: @user)
redirect_to @club

# ERICA: This ended up being a really nice piece of user experience-oriented programming, and elegantly executed after all the roadblocks.
else
render :new
end
Expand All @@ -42,6 +42,8 @@ def edit
@club = Club.find(params[:id])

@members = Membership.where(club_id: params[:club_id])
# ERICA: Don't forget to delete any commented-out code that you're not using

# @user = @club.user
# if @user != current_user
# flash[:alert] = "Access denied! You can't edit someone else's pin."
Expand Down
3 changes: 3 additions & 0 deletions app/views/clubs/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<h3>Current Members:</h3>
<% @club.memberships.each do |members| %>
<p><%= members.user.email %> <%= link_to "Remove Member".html_safe, members, method: :delete, class: "fav" %></p>
<!-- ERICA: Was there a particular error that you encountered that prompted use of .html_safe here? -->
<% end %>
</div>
<%= form_for @club.memberships.build do |f| %>
Expand All @@ -14,3 +15,5 @@
<%= f.hidden_field(:club_id)%>
<%= f.submit 'Add Members', class: 'enter' %>
<% end %>
<!-- ERICA: You could save some duplication by rendering '../memberships/form' instead of writing out the whole form -->
<!-- ERICA: Adding checkboxes that allow multiple selections turns out to be a pretty fiddly process in terms of data structure. Instead of the handy and efficient colletion_select, you would likely have to use a loop/enumerable to generate a separate checkbox for each user. This apidock post would be a good place to start if you want to try to refactor... http://apidock.com/rails/ActionView/Helpers/FormHelper/check_box#1001-Sending-array-parameters-->
1 change: 1 addition & 0 deletions app/views/meetings/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@
<%= f.submit 'Submit', class: 'enter' %>

<% end %>
<!-- ERICA: Nice use of the 'size' parameter to customize the form -->
63 changes: 63 additions & 0 deletions checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
### Project Feedback + Evaluation

| Score | Expectations |
| :---- | :----------- |
| **0** | _Does not meet expectations_ |
| **1** | _Meets expectactions_ |
| **2** | _Exceeds expectations_ |

## Project Workflow
##### How effectively did you plan, execute, and present this project?
- [ ] The `readme.md` file contains any necessary installation instructions
- The `planning` folder contains:
- [x] a picture / screenshot of your ERD (up to date!)
- [x] a `wireframes` directory, which in turn contains at least 2 drawings or photos of wireframes and ERDs
- [x] a `user_stories.md` file, which in turn contains at least 7 user stories (or a link to a Trello board or equivalent)
- [x] A Github issue was submitted to the `project2` repository **by 11:00am on Friday, November 20<sup>th</sup>,** containing a link to a hosted video
- [x] The video itself and/or the site on which it can be found contains a website or email address through which the creator can be contacted
- [x] The video is at least 3 minutes long, but **no more than** 5 minutes
- The video contains:
- [x] A description and demo of the app
- [x] A code sample explaining one thing of which the creator is proud
- [x] One thing the creator would do differently next time
- [x] The next feature the creator would like to implement
**Meets Expectations**

## Technical Requirements
##### How well does your app demonstrate a grasp of the technologies introduced in class?
- [x] App contains at least 2 models
- [x] App contains at least 1 association
- [x] At least 1 model incorporates `GET`, `POST`, `PUT`, and `DELETE` routes
- [x] Includes sign up, log in, and log out functionality
- [x] Utilizes an ORM to create database structure
**Meets Expectations**

## Creativity / Interface
##### How memorable and enjoyable to use is your app?
- [x] The app displays a personal spin or creative element through its written language, functionality, purpose, and/or CSS
- [x] The app delivers something of value to the end user: it is not just a login button and an index page
**Meets Expectations**

## Code Quality
##### How able would an uninformed programmer be to reuse and extend your code?
- [x] The code follows style guidance and best practices covered in class, such as spacing, indenting, modularity, and semantic naming
- [x] The code is commented only with what is necessary to document what is happening in the code
- [x] For any page, copying its source code as it appears in the **browser** and pasting it into the [W3 Validator](http://validator.w3.org) yields 0 errors
**Meets Expectations**

## Deployment and Functionality
##### How accessible is your app to those who may want to explore it?
- [x] Cursory use of the app by an uninformed user yields no errors that "break" it
- [x] The app is deployed to Heroku (or another hosting service)
- [x] The contents of the creator's Github repository is identical to that of the Heroku repository
- [ ] The `URL` field of the Github repository contains a link to the deployed version of the app
**Meets Expectations**

## Overall
**Meets Expectations** Great work, Alice! Your app is full-featured and user-friendly. Though your comments on the project submission form suggest that editing/adding memberships on the clubs edit page was a bit of a headache, the fact that you were able to accomplish it shows a sophisticated understanding of your data model -- well done!

One bug that I encountered as a user -- the date doesn't seem to be rendering properly on the meeting show page or the club index page. Adding a formatting/parsing method to the meeting model might help iron this out.

The next steps list in your readme is great! Your use of join tables is solid here, so I'd particularly encourage you to implement the themes model you had mentioned. It seems like you're really getting into the nitty gritty of customizing forms, both in the work you've done and the work you're hoping to do -- they can be a pain sometimes, but they're central to happy users and happy databases, so that's something that should be exciting to potential employers...

[Inline Code Comments](https://github.com/ebirving/ClubHub/compare/9a52a1f...696fff3)