Disconnect
(Alejandro Jimenez Regalon + Thibault Delfaud) x (awesomeness) = Disconnect
Disconnect is an online app that helps you find the nearest musical events around you.
- HTML, CSS
- Back end
- JavaScript (Node.js, Express.js)
- MongoDB (Mongoose)
- Multiple user types
- Visitor (simple visitor, can browse per artists or venue and buy tickets for a specific event)
- Partner (owner of a venue, can add one or more venues + add events for each venues)
Method | Endpoint | Description | Views |
---|---|---|---|
GET | / | HomePage | |
GET | /login | Login page | |
POST | /login | Send user info and logged in | |
GET | /register | Register page | |
POST | /register | Send user and get the cookie | |
GET | /artists | Artists page - search | |
GET | /artists/search?search="string" | Search an artist by name | |
GET | /artists/details/=:id | Artists page - search | |
GET | /venues | Venues page - | venues-browse.hbs |
GET | /venues/:id | Get the venue | venues-browse.hbs |
GET | /venue/events/:id | See all the events for one venue | venues-events.hbs |
GET | /venue/tickets/:id | See all the tickets | venues-tickets.hbs |
GET | /venue/ticket/pay/:id | See all the tickets | venues-ticket-pay.hbs |
GET | /partner/add/venue | See the form to add the venue | |
POST | /partner/add/venue | Send the information to the BD | |
GET | /partner/add/event | See the form to add the venue | |
POST | /partner/add/venue | Send the information to the BD |
User model
{
id_user: { Type: ObjectId(), required: true, unique: true}
name: { Type: String, required: true }
surnames: { Type: String, required: true }
email: { type: String, required: true , unique: true}
password: { Type: String, required: true }
}
Partner model
{
id_partner: { Type: ObjectId(), required: true, unique: true}
name: { Type: String, required: true }
surnames: { Type: String, required: true }
email: { Type: String, required: true , unique: true}
password: { Type: String, required: true }
}
Venue model
{
id_venue: { Type: ObjectId(), required: true, unique: true}
name: { Type: String, required: true }
place: { Type: String, required: true }
altitude: { Type: Number }
latitude: { Type: Number }
picture: { Type: String, required: true }
description: { Type: String, required: true }
id_partner: { Type: ObjectId(...), required: true, unique: true}
}
Event model
{
id_event: { Type: ObjectId(), required: true, unique: true}
name: { Type: String, required: true }
place: { Type: String, required: true }
picture: { Type: String, required: true }
description: { Type: String, required: true }
date: { Type: Date, required: true }
id_venue: { Type: ObjectId(...), required: true, unique: true}
id_artists { Type: Array }
}
- Create: Partner can create a venue, and events for each venue
- Read: both users can read artists, venues and events
- Update: Partner can change venue and events
- Delete: Partner can delete venues and events
- Spotify API https://www.npmjs.com/package/spotify-web-api-node
- Map Box API https://docs.mapbox.com/api/
TRELLO - https://trello.com/b/PiHqKdYY
GITHUB - https://github.com/Thibault-d/Disconnect
HEROKU - https://ironhack-disconnect.herokuapp.com/
SLIDES - https://docs.google.com/presentation/d/118HRALQL7AigMKlpZVq_npkQ-6iBY-kXiT-nrSYyZLo/edit?usp=sharing
MOCKUPS - https://app.moqups.com/r10YTb0erF/view/page/aa9df7b72