This is a backend application built with Ruby on Rails. It serves as the backend for managing users, events, and artist data. The application provides RESTful APIs for creating, reading, updating, and deleting (CRUD) resources like users, artists, and events.
• Manage users and their saved artists.
• Create and manage events.
• Associate users with events and allow users to attend events.
• RESTful API endpoints for handling various resources.
- Clone the Repository
- Install App Dependencies (bundle install)
- Set up Database (rails db:drop, rails db:create, rails db:migrate, rails db:seed)
- Run the server locally (rails s)
• GET /api/v1/users - Get a list of all users
• GET /api/v1/users/:id - Get a specific user
• POST /api/v1/users - Create a new user
• PATCH/PUT /api/v1/users/:id - Update a user
• DELETE /api/v1/users/:id - Delete a user
• GET /api/v1/artists - Get a list of artists (with optional search parameters)
• POST /api/v1/artists - Add an artist to a user’s saved artists
• DELETE /api/v1/artists/:id - Remove an artist from a user’s saved artists
• GET /api/v1/events - Get a list of all events
• GET /api/v1/events/:id - Get a specific event
• POST /api/v1/user_events - Create an event for a user
• DELETE /api/v1/user_events/:id - Remove a user from an event
• GET /api/v1/users/:user_id/user_events - Get all events associated with a specific user
• GET /api/v1/users/:user_id/user_events/:id - Get a specific event associated with a specific user
• POST /api/v1/attendees - Add a user to an event's attendees
• DELETE /api/v1/attendees/:id - Remove a user from an event's attendees
• GET /api/v1/events/:event_id/attendees - Get a list of all attendees for a specific event
• GET /api/v1/concerts - Gets the top concert for the artist chosen
Deployed URL: https://concertmate-rails-9f7aa871924c.herokuapp.com/
Http Method, Route, Body
- Create a user POST http://localhost:3000/api/v1/users

- Add an Artist to a Users saved artist POST http://localhost:3000/api/v1/artists

- Creating an Event POST http://localhost:3000/api/v1/users/1/user_events

- Deleting an Event
DELETE http://localhost:3000/api/v1/users/1/user_events/1
- Adding a User to and Event as an Attendee POST http://localhost:3000/api/v1/attendees

- Removing a User from an Event DELETE http://localhost:3000/api/v1/attendees/:user_id

- Getting All Attendees for an Event GET http://localhost:3000/api/v1/attendees?event_id=:event_id

- Getting All Events for a User GET http://localhost:3000/api/v1/users/:user_id/user_events

- Getting a specific Event for a User GET http://localhost:3000/api/v1/users/:user_id/user_events/:event_id

