-
Notifications
You must be signed in to change notification settings - Fork 0
/
spec.tex
127 lines (109 loc) · 5.66 KB
/
spec.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{graphicx}
\usetheme{default}
\usecolortheme{default}
\title{Deal or No Deal}
\subtitle{Design Specification}
\author{Alexander Taylor - 2247116 \and Stuart Reilly - 2258082 \and Krisana Tunprasert - 2193578\and Alexander Anderson - 2079103}
\date{\today}
\begin{document}
\frame{\titlepage}
\begin{frame}
\frametitle{Overview}
The aim of our website is to crowdsource all the best deals that are available in order for people to save money and to promote spending. Our website will allow anyone to register for an account and either post their deals with URLs to the corresponding website, upload details of any ongoing locals deals or view the deals themselves. Users will be able to either ‘upvote’ or ‘downvote’ the deal, as an indication of its authenticity as well as have an open discussion about the deal through a comment system. The site will also allow users to search for deals either based on a category(s) that the deal falls into, by creation date to see the most recently uploaded deals or by the most popular deal indicated by the amount of ‘upvotes’ it has.
\end{frame}
\begin{frame}
\frametitle{Requirements}
\begin{itemize}
\item A user must be able to create/edit/delete an account
\item A user must be able to login and logout of their account
\item A user must be able to submit a deal
\item A user must be able to rate a deal
\item A user should be able to sign in using OpenID
\item A user should be able to comment on a deal
\item A user should be able to select a category of deal
\item A user should be able to use their mobile device to access the site
\item A user should be able to view a history of their submitted deals
\item A user should be able to view the ratings of their submitted deals
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{System Architecture Diagram}
\resizebox{\textwidth}{!}{\input{sysArch.tex}}
\end{frame}
\begin{frame}
\frametitle{User Persona - John Smith}
\begin{center}
\includegraphics[height=.3\textheight]{persona/john.png}
\end{center}
John is a 20 year old art student at the university of Glasgow. While he likes to go out and buy many things he is an art student and so can’t afford to as he drinks a lot. Due to this he has adopted a policy of only buying items that have some sort of deal attached to them. He also likes to share deals that he has found with his friends and family. Through the web app he will be able to share deals with a large range of people as he will be able to upload deals that he finds.
\end{frame}
\begin{frame}
\frametitle{User Persona - Max Simmons}
\begin{center}
\includegraphics[height=.3\textheight]{persona/max.png}
\end{center}
Max is a 19 year old computer science student at Glasgow university. He is quite well off and so he generally doesn’t care too much about money but he cannot resist a good deal. While he does like a good deal he doesn't like others getting to deals before him and will go as far to not telling others about brilliant deals. Through our web app he will be able to look at deals that other people find and also be able to upvote them if he believes that they are a good deal.
\end{frame}
\begin{frame}
\frametitle{ER Diagram}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{er-dia}
\end{frame}
\begin{frame}
\frametitle{Database Data Types - User}
\begin{itemize}
\item user\_ID (VARVCHAR) – the unique identifier for each registered user.
\item Firstname/surname (VARCHAR) – the first and last name of the user.
\item Email (VARCHAR) – the users email address.
\item Total\_upvotes (INT) – the total number of upvotes that user has accumulated from all their posts.
\item Posts\-made(INT) – the total number of posts the user has made.
\item Is\_admin (BOOLEAN) – the status of the user (if they are an admin or not).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Database Data Types - Thread}
\begin{itemize}
\item Thread\_ID (VARCHAR) – the unique identifier of the thread.
\item Thread\_name (VARCHAR) – the name of the thread.
\item Thread\_Content (VARCHAR) – the content that the poster uploads (i.e. the deal).
\item Reply\_count (INT) – the number of replies the thread has.
\item Date\_created (INT) – the date when the thread was created.
\item Upvotes (INT) – the number of upvotes the thread has.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Database Data Types - Category}
\begin{itemize}
\item Category\_ID (VARCHAR) – the unique identifier of the category.
\item Category\_name (VARCHAR) – the name of the category.
\item Thread\_count (INT) – the number of threads within the category.
\item Category\_description (VARCHAR) – a description of what the category is.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Databse Data Types - Comment}
\begin{itemize}
\item Comment\_ID – the unique identifier for each comment.
\item Date\_created (INT) – the date in which the comment was created.
\item Comment\_content (VARCHAR) – the comment left itself.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Wireframe - Index}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{mockups/index}
\end{frame}
\begin{frame}
\frametitle{Wireframe - Deal Page}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{mockups/deal-page}
\end{frame}
\begin{frame}
\frametitle{Wireframe - Login}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{mockups/login}
\end{frame}
\begin{frame}
\frametitle{Sitemap}
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{site-map.jpg}
\end{frame}
\end{document}