Tomeu App is an app where the user can either create an event, which is a homemade meal in a private house or attend events which are already created.
- 404 - As a user I want to see a nice 404 page when I go to a page that doesn’t exist so that I know it was my fault
- 500 - As a user I want to see a nice error page when the super team screws it up so that I know that is not my fault
- Landing Page - As a user I want to be able to sign up or log in
- sign up - As a user I want to sign up on the webpage so that I can see all the events that I could attend or Create
- login - As a user I want to be able to log in on the webpage so that I can access to my account
- homepage - As a user I want to be able to access the homepage so that I see what the app is about, and the events I can attend
- logout - As a user I want to be able to log out from the webpage so that I can make sure no one will access my account
- all events list - As a user I want to see all the events available so that I can choose which ones I want to attend (is inside homepage)
- events create - As a user I want to create an event so that I can invite others to attend
- events detail - As a user I want to see the event details of one event so that I can decide if I want to attend
- event attend - As a user I want to be able to attend to event so that the event organizer can count me in
- event delete - As a user I want to be able to delete any event I create, so that I can delete it.
- event update - As a user I want to be able to update any event, so that I can modify my events.
List of other features outside of the MVPs scope
User profile:
- upload my profile picture
- see other users profile
- add age, location, description
- send a request to the event organizer to attend the event
- receive the confirmation or rejection from the event organizer
- Be able to add to favorites any event I like
Geo Location:
- add geolocation to events when creating
- show event in a map in event detail page
- show all events in a map in the event list page
Mail:
- Send username info to the mail the user registered
-
GET /
- redirects to /home if user logged in
- renders the landing page
-
GET /auth/signup
- redirects to /home if user logged in
- renders the signup form
-
POST /auth/signup
- redirects to /home if user logged in
- body:
- username
- password
-
GET /auth/login
- redirects to /home if user logged in
- renders the login form
-
POST /auth/login
- redirects to /home if user logged in
- body:
- username
- password
-
POST /auth/logout
- redirects to landing page
- body: (empty)
-
GET /events
- redirects to / if user not logged in
- renders homepage and events list
-
GET /events/create
- redirects to / if user not logged in
- renders the create form
-
POST /events/create
- redirects to / if user not logged in
- body:
- title
- date
- location
- capacity
- description
- pictures
-
GET /events/:id
- redirects to / if user not logged in
- renders the event detail page
- attend button if user not attending yet
-
POST /events/:id/attend
- redirects to / if user not logged in
- body: request message
-
GET /profile/:id
- redirects to / if user not logged in
- renders user´s profile page
- renders list of events created
- renders list of events to attend
-
POST /profile/:id
- redirects to / if user not logged in
- update:
- events created
-
POST /profile/:id
- redirects to / if user not logged in
- delete:
- events created
username: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
email : {
type: String,
},
events : [{
type: ObjectId,
ref: 'Event'
}]
timestamps: true
title: {
type: String,
required: true,
unique: true
},
location: {
type: String,
required: true,
},
description: {
type: String
required: true,
},
date: {
type: Date, (only the day after today)
required: true,
},
attendees: {
type: Number,
required: true,
}
carta: {
type: Number,
required: true,
}
Link to your trello board or picture of your physical board
The url to your repository and to your deployed project
The url to your presentation slides