Now we are moving into the development stage of our project, I have started setting up the server-side technologies we are planning to use. Here is an overview of the resources we plan on using plus an update of my work so far.
Resources we are using
Here are the hardware and software resources we are using for our project:
- MongoDB – in conjuction with PDO/PHP – for database operations
- P5.js (with HTML/CSS/js .etc) – for visualizations
- GitHub – for easy collaboration and version control
- My server/website – for hosting .etc
- Raspberry Pi & Touch input – for user input
- Projector & Projection mapping software – such as surface mapper GUI
Setting up the Server/Database
I installed MongoDB to my server ready for us to use.I designed how it would work in relation to the data we will store and how we will store it. The database and other parts of the project will be hosted here.
Functional & Non-functional requirements:
- Input of user data from input page/app
- Storage and retrieval of data for use in visualization
- Security of database – PDO (PHP data objects) is used as it uses prepared statements, which makes it more secure against injection attacks. (Stackoverflow.com, 2017)
- Security of server – a separate username and password are used for database access only, hidden from viewing by site visitors.
Sample Content of Database
Below is an outline of how our database will work, where “options” relates to the sliders within the app.
|Primary Key||Name||Option 1||Option 2||Option 3||Option 4|
After designing I created a database with necessary tables ready to store the data once the app becomes live.
Since MongoDB works with PDO, I chose to use this for our project as I have experience working with it in the past. This is beneficial for added security against injection attacks and flexibility in case of moving to another database. (Stackoverflow.com, 2017)
We are using GitHub for easy collaboration and version control. Since a lot of my work is on the server side, not much will be seen on GitHub other than adding my contributions (such as server connections) to my other group member’s code.
My GitHub can be found here: https://github.com/Mustang601/
My GitHub: https://github.com/Mustang601
My Website: http://mustangphoto.co.uk/
Stackoverflow.com. (2017). In PHP, how does PDO protect from SQL injections? How do prepared statements work?. [online] Available at: https://stackoverflow.com/questions/4042843/in-php-how-does-pdo-protect-from-sql-injections-how-do-prepared-statements-wor [Accessed 3 Dec. 2017].