maggicl
82d364b6e4
git-svn-id: svn+ssh://atelier.inf.usi.ch/home/bevilj/group-1@14 a672b425-5310-4d7a-af5c-997e18724b81
274 lines
9 KiB
TeX
274 lines
9 KiB
TeX
\documentclass[hidelinks,12pt,a4paper,numbers=enddot]{scrartcl}
|
|
|
|
\usepackage[margin=2.5cm]{geometry}
|
|
\usepackage{hyperref}
|
|
|
|
\title{Inception document fore SA1 group project}
|
|
\author{Group 1 (Team Leader: Claudio Maggioni)}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\section{Team organization}\label{team-organization}
|
|
|
|
\paragraph{Project leader}
|
|
Claudio Maggioni
|
|
|
|
\paragraph{SVN admin}
|
|
Joey Bevilacqua
|
|
|
|
\subsection{Teams}
|
|
|
|
\paragraph{Front page, about and info team {[}front-team{]}}
|
|
Matteo Omenetti (\textbf{Team leader}), Nicola Brunner
|
|
|
|
\paragraph{Topics teams}
|
|
\begin{itemize}
|
|
\item \textbf{File system {[}fs-team{]}}: Riccardo Antonio Vivanco (\textbf{Team leader})
|
|
\begin{itemize}
|
|
\item Mattia Hijman
|
|
\item Marwan Announ
|
|
\item Mirko Ponzio
|
|
\end{itemize}
|
|
\item \textbf{Basic commands {[}cmd-basic-team{]}}: Gianmarco De Vita (\textbf{Team leader})
|
|
\begin{itemize}
|
|
\item Alessandro Marinelli
|
|
\item Joy Albertini
|
|
\item Marzio Lunghi
|
|
\end{itemize}
|
|
\item \textbf{Intermediate commands {[}cmd-interm-team{]}}: Joao Tomazoni (\textbf{Team leader})
|
|
\begin{itemize}
|
|
\item Marco Farace
|
|
\item Fabiano Fenini
|
|
\item Gabriele Giacomelli
|
|
\end{itemize}
|
|
\item \textbf{Advanced commands {[}cmd-advanced-team{]}}: Domenico Votta (\textbf{Team leader})
|
|
\begin{itemize}
|
|
\item Alessandro Luini
|
|
\item Agostino Monti
|
|
\item Petro Lukach
|
|
\end{itemize}
|
|
\item \textbf{Scripting {[}scripts-team{]}}: Marco Conterno (\textbf{Team leader})
|
|
\begin{itemize}
|
|
\item Dario Rasic
|
|
\item Alexander Todorovic
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
\paragraph{\emph{CSS} team {[}css-team{]}}
|
|
Andrea Brites Marto, Marco Tereh
|
|
|
|
\paragraph{Documentation {[}docs-team{]}}
|
|
Ricardo Antonio Vivanco
|
|
|
|
\subsection{Extra roles}
|
|
|
|
\paragraph{Team management}
|
|
Claudio Maggioni, Joey Bevilacqua, Matteo Omenetti
|
|
|
|
\paragraph{Work environment}
|
|
Claudio Maggioni, Joey Bevilacqua
|
|
|
|
\section{Repository organization}\label{repository-organization}
|
|
|
|
\begin{itemize}
|
|
\item \texttt{docs/} (for \LaTeX documentation, Access: \texttt{docs-team})
|
|
\item \texttt{site/} (for the actual website)
|
|
\begin{itemize}
|
|
\item \texttt{\_include/} (Access: \texttt{css-team})
|
|
\item \texttt{\_layout/} (Access: \texttt{css-team})
|
|
\item \texttt{pages/}
|
|
\begin{itemize}
|
|
\item \texttt{cmd/}
|
|
\begin{itemize}
|
|
\item \texttt{basic/} (Access: \texttt{cmd-basic-team})
|
|
\item \texttt{interm/} (Access: \texttt{cmd-interm-team})
|
|
\item \texttt{advanced/} (Access: \texttt{cmd-advanced-team})
|
|
\end{itemize}
|
|
\item \texttt{fs/} (Access: \texttt{fs-team})
|
|
\item \texttt{info/} (Access: \texttt{front-team})
|
|
\item \texttt{scripts/} (Access: \texttt{scripts-team})
|
|
\end{itemize}
|
|
\item \texttt{\_sass/} (Access: \texttt{css-team})
|
|
\item \texttt{assets/}
|
|
\begin{itemize}
|
|
\item \texttt{cmd/}
|
|
\begin{itemize}
|
|
\item \texttt{basic/} (Access: \texttt{cmd-basic-team})
|
|
\item \texttt{interm/} (Access: \texttt{cmd-interm-team})
|
|
\item \texttt{advanced/} (Access: \texttt{cmd-advanced-team})
|
|
\end{itemize}
|
|
\item \texttt{fs/} (Access: \texttt{fs-team})
|
|
\item \texttt{info/} (Access: \texttt{front-team})
|
|
\item \texttt{scripts/} (Access: \texttt{scripts-team})
|
|
\item \texttt{style/} (Access: \texttt{css-team})
|
|
\end{itemize}
|
|
\item \texttt{js/} (Access: \texttt{css-team})
|
|
\item \texttt{index.html/} (Access: \texttt{front-team})
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
\section{Teamwork}\label{teamwork}
|
|
|
|
Team members will have their channel in \emph{Slack} in which they can discuss
|
|
with their topic leader and mates about the things they're working on.
|
|
|
|
Team members refer only to the team leader, unless when they want to
|
|
raise issues about the team leader itself, in which case they'll refer to the
|
|
project leader (Claudio Maggioni).
|
|
|
|
Each team leader refer to the project leader and other team leaders.
|
|
|
|
Team leaders are responsible for assuring the work of their team is
|
|
committed in time and the coding convections are met.
|
|
|
|
Each team only has access to directories strictly related to their team.
|
|
For instance, members of \texttt{scripts-team} will have access only to
|
|
the script pages, but not on the file system pages.
|
|
|
|
Each content team has a folder available in the \texttt{pages/} and
|
|
\texttt{\_assets/} folder.
|
|
|
|
In \texttt{pages/} there will be \texttt{.html} files only.
|
|
|
|
In \texttt{\_assets/} there will be pictures, videos and other content used
|
|
in html files.
|
|
|
|
Images will be subject to review by the \emph{CSS} team that has the right to
|
|
have them changed to meet the website styling rules.
|
|
|
|
If someone needs to add some \emph{JavaScript} or \emph{CSS} code, they must notify to
|
|
both their team leader and the \emph{CSS} team which is the only capable of
|
|
submitting new \emph{JavaScript} and \emph{CSS} code.
|
|
|
|
Code may also be sent to the \emph{CSS} team, but it'll be subject to review
|
|
and changes.
|
|
|
|
\subsection{Work environment}\label{work-environment}
|
|
|
|
To work on the website you will need to get our work environment.
|
|
|
|
The website is built using \emph{Jekyll}. \emph{Jekyll} is a magic thing that
|
|
allows us to simplify our work by decoupling content from styling.
|
|
|
|
You won't need to apply all the styling on your own, as you'll just
|
|
import a base page and then write your html code which will be placed inside it.
|
|
|
|
\subsubsection{Setup}\label{setup}
|
|
|
|
To get the repository, please run the following command (make sure you
|
|
replace the \texttt{yourname} with your \emph{USI} email id,
|
|
E.G.: \texttt{Rossi\ Mario\ (rossm@usi.ch)} uses
|
|
\texttt{rossm} as name):
|
|
|
|
\begin{verbatim}
|
|
svn checkout svn+ssh://<your_name_here>@atelier.inf.usi.ch/home/bevilj/group-1
|
|
\end{verbatim}
|
|
|
|
\subsubsection{Test your work locally}\label{test-your-work-locally}
|
|
|
|
Having Jekyll makes testing your work locally a bit harder, there's a
|
|
script that does all you need to do in order to work.
|
|
|
|
Once you're done editing the webpage you're working on, execute
|
|
\texttt{./build.sh} script that will start a webserver that will allow you
|
|
to visit the website at the following URL on any browser:
|
|
\url{http://localhost:4000} (it should open automatically, but open it
|
|
manually if it does not work).
|
|
|
|
The first time you will be required to insert your computer's password.
|
|
|
|
The website will refresh its contents automatically once you save your
|
|
files (there will be a small delay of a few seconds before changes are
|
|
made available in your browser).
|
|
|
|
To stop the webserver once you're done working with the website,
|
|
run \texttt{./stop.sh}
|
|
|
|
\section{Deadlines}\label{deadlines}
|
|
|
|
We have deadlines available on \emph{Slack} we planned to make sure the
|
|
project can be delivered without delays.
|
|
|
|
Project managers are responsible for communicating the deadlines
|
|
and eventual changes to them to everyone.\\
|
|
|
|
Team leaders are responsible for making sure their team members
|
|
meet the deadlines and eventually communicating failures in meeting
|
|
them to the project leaders.\\
|
|
|
|
2 or more failures in meeting the deadlines will result from the removal
|
|
of the inclusion of the name on the about page of the website, which
|
|
will result in a decrease of personal score.
|
|
|
|
\subsection{Coding conventions}\label{coding-conventions}
|
|
|
|
\begin{itemize}
|
|
\item
|
|
Uses two spaces for indentation (tab = 2 spaces);
|
|
\item
|
|
Put one new line for each tag;
|
|
\item
|
|
Put no more than 100 chars for each line;
|
|
\item
|
|
Add comments when necessary.
|
|
\end{itemize}
|
|
|
|
Team leaders are responsible for making sure the code is properly
|
|
formatted.
|
|
|
|
Code may be reformatted by the repository administrator.
|
|
|
|
\subsection{Keep up with other people's work}\label{keep-up-with-other-peoples-work}
|
|
|
|
Please sync your repository every day by running the command:
|
|
|
|
\begin{verbatim}
|
|
svn update
|
|
\end{verbatim}
|
|
|
|
\subsection{Committing changes}\label{committing-changes}
|
|
|
|
Make your commits simple, but not too simple: each commit must be
|
|
dealing with a limited set of changes which are all related.
|
|
|
|
Commits making unrelated changes are not encouraged.
|
|
|
|
In case of conflict, talk with your other team members to resolve them
|
|
properly.
|
|
|
|
Commit messages will have to be properly written and explain in detail
|
|
what is happening in the commit. It's important to remember that history of commit messages will be reviewed by the TA/Bavota, so make sure your wording is appropriate.
|
|
|
|
Commit messages should be in the following format:\\
|
|
|
|
\texttt{team-name}: What you did
|
|
|
|
\subsubsection{GOOD examples of commit messages}
|
|
|
|
\begin{itemize}
|
|
\item \texttt{basic-team: add section about ``ls''}
|
|
\item \texttt{css-team: work on the header}
|
|
\item \texttt{scripts-team: fix typo in for loops page}
|
|
\item \texttt{scripts: fix typo in for loops page}
|
|
\item \ldots
|
|
\end{itemize}
|
|
|
|
\subsubsection{BAD examples of commit messages}
|
|
|
|
\begin{itemize}
|
|
\item \texttt{dragons: add section about ``ls''}
|
|
\item \texttt{mario rossi: work on the css header}
|
|
\item \texttt{css-team: fix this shit}
|
|
\item \texttt{scripts: update}
|
|
\item \texttt{My hands are typing words}
|
|
\item \texttt{Typo sorry won't happen again}
|
|
\item \texttt{How to make billions in 3 days. A method doctors won't tell you}
|
|
\item \texttt{Haaaaaaaaaaaands} \footnote{\url{https://xkcd.com/1296}}
|
|
\item \ldots
|
|
\end{itemize}
|
|
|
|
\end{document}
|