The purpose of this project was to design and implement an application with the following two functions.
- Firstly to allow users to review movies and upload those reviews onto a publicly available application on the internet.
- And secondly, to allow users to use this application to search movie reviews.
For optimal performance it is recommended to use Google Chrome browser.
The Project can be viewed here.
The approach to the SDLC included the following phases:
- User requirement gathering.
- Functional Specification.
- Design Specification.
- Development.
- Testing.
- User acceptance.
- Deployment.
User requirements gathering - First part of the requirements gathering phase of this project included interviewing a movie critic to find out what they would like to see as key features on a movie review application. Second part of the requirements gathering phase included researching what a typical user would like to see as key functionalities in searching movie reviews on an application.
Functional Specification - Having gathered the user requirements a functional specification was developed. This functional specification included key features such as
- Input template
- Data entry form
- Search functionality for finding movie
- Actor / Director info
- One URL which allows you to submit or search a review
- Ease of use
Design Specification - Based on the key functionalities a design specification was developed. This specification resulted in the following technologies that where used in meeting the requirements for this project.
- Python
- HTML5
- CSS / Bootstrap
- Javascript / JQuery
- MongoDB
- Heroku
- Flask
- GIT
Development - The Integrated Development Environment (IDE) PyCharm was used as the development platform for this project which is a segragated environment from the live environment. Github was used as the source code repository which also provided version control and release management.
Testing - The test strategy that was used throughout this project that ensured a quality of delivery for the application included the following.
- Unit Testing
- The application was broken down into individual units before the development phase. Each of these units represented the key functionalities of the application which where tested seperately.
- Integration Testing
- As the application consists of a Frontend web-application supported by a Backend database. Integration testing was necessary to ensure integrety of the links.
- User Acceptance Testing
- User Acceptance Testing was performed to ensure that the key functionality and user requirements gathered at the start of the project where successfully delivered.
- Regression Testing
- In order to ensure the application was fully functional in the live environment regression testing was performed on key functionalities.
Deployment - As this application was an initial deployment it was put into a live environment following the completion of successful testing mentioned previously. The application will be maintained in the live environment and upgraded as necessary. Deployment of future updates will be controlled within a maintenance window which will be notified to users to minimise disruption.
- Login/Registration
- Confirmation alert for movie review entry
- Re-use of previously entered data (Director / Actor - other movies)
- One Click feature for movie ratings (1-5 stars)
- All review information used on version 1.0 has been taken from IMDb.com.
- Images taken from Google images.
- User Clare Kirwan.
- Movie Reviewer Justin Byrne.
- My Mentor for his guidance all through this project.
- Tutors at Code Institute for all their help.