View My Github Project online - This version of my site that is being assessed.
Real Company’s Webpage - This link is live, however does not have the capacity to use flask due to the hosting party not allowing it. This will run on the build made with just HTML, CSS & JavaScript
Login Details for testing admin priveliges (IE. Being able to add or edit films) Heroku:
User: secretadmin
Password: secretpassword
Install application on this github page
Once installed, open the application on your Integrated Development Environment (IDE)
Create a file named ‘.env’ in the root of the application (on the same level as the ‘app.py’ file)
Next you will need to create a ‘.env’ file in the root of this application.
APP_SECRET_KEY=...
USERNAMES=...
PASSWORD=...
USERS=${USERNAMES}:${PASSWORD}
-> Please change the ‘…’ with your own secret key, username and password.
Once this stage is completed, you can move onto installing requirments to run this application:
pip install -r requirements.txt
This is where we run the application. To do this, please run the app.py file in the local terminal:
python app.py
Finally you can open this application by entering the following address into your prefered browser:
View site on this link http://127.0.0.1:5000
To stop this application, enter ctrl+c in your integrated terminal
Filmlab Productions (Filmlab) is a film production website where users stay up to date with current projects. The site is multifunctional, as a video streaming platform, enabling audiences to stay up to date on what Filmlab is doing. Users may stay up to date via the homepage, which houses an up to date film list, and a behind the scenes page.
Filmlab is a new company so it is vital that they are able to quickly show what they are about, and their films must come to the focus to build an audience. Therefore, a thoughtful design would take into consideration, the companies' appetites for releasing films, along with the viewer's attention to watching them. --- ## CONTENTS: --- * [User Experience - UX](#user-experience)
* [First Time Visitor GOAL](#first-time-visitor-goal)
* [Return Visitor GOAL](#returning-visitor-goal)
1 - To quickly find out what projects Filmlab is working on
2 - To find out if filmlab is a legitimate business along with their track record with film making
3 - To be able to navigate to the films section and watch the projects, possibly after seeing potential advertisements or anticipation on social media for a new film
4 - To find out information on the team behind filmlab, follow the careers of actors involved, where the company is based, and to contact the company directly
5 - What the company is about and how they work together to produce films
1 - To navigate around and see the newest projects & films, or upcoming projects on the very front of the homepage
2 - To be able to see up to new images on the behind the scenes page, with new content about upcoming or completed projects, that they care about
3 - Actors or producers who want to share their work
4 - Creator's goals are different than the regular user. This user would be more interested in publishing their work, rather than watching. These users would demand an admin account where they can upload, edit and delete videos from the database. Login details are listed in the *[Introduction](#Introduction)
Navigation - The idea was to make the nav constantly visible on larger screen devices, but open with as a menu, for mobile users
Home - This needs an eye-catching first image, to keep users on the page, similar to how Netflix uses a main. It also would require the ability to navigate through films
Films - I tried to reuse the same elements from the homepage, to reduce the complexity of the project
Watch Films - This will be the page of a selected film, and will include a description and a trailer (if available)
Behind the Scenes - This will have all the images for projects, and will have a ‘previous’ and ‘next’ button, for intractability between slides
About Us - This will be a section to credit the team & demonstrate their respective roles
Contact Form - Note that unfortunately, this did not get passed the wireframe, as I did not know how to receive messages from a static page
### Colour Scheme and Styling Originally, I had planned to use a primary color scheme of black; purple, and an accent of orange to outline important content. However, Filmlabs’ final colour scheme is heavily inspired by Netflix and their simple, red, black and grey website design.
Screenshot from - https://www.color-hex.com/color-palette/22942
Based on my previous statement and using the colour selector tools on Figma.com, the colours I decided to settle on were the following 3:
Screenshot from - https://www.color-hex.com/color-palette/22942
My design was started with pencil and paper -> then moved to Figma as a free tool that I would be able to see my design before committing to it in code.
While committing to the colour scheme, I wanted to remove elements that created visual noise, or affected readability for the user. I also wanted to cut down on colours outside of the primary colours (Grey & White). This was so I can maintain continuity with the rest of my site, along with having a more professional looking site.
After completing the wireframing stages I had assistance from a designer. These are examples of the PC mockup, used to envision how Filmlab would look.
Pc version (designed by Natsuko - my friend) ![Figma exp](/filmlabproductions/assets/readme_img/pcfimga.png) ![Figma exp](/filmlabproductions/assets/readme_img/pcfigma2.png)
When working on the final design, I used an online editing tool called Figma. I also used it to edit and resize SVG images, due to its inbuilt features and high precision over such properties. This is how I redesigned my Icons.
Initially, I had designed the navigation as it would be used in all of my pages. I went for a more modern approach, opting for a sidebar, similar to Netflix.
I used google fonts' "Quicksand" for better readability, as its roundness makes it easier to read. It also adds a more delicate and comfortable feel, which is ideal for relaxing users, who are ready to watch a film.
Logo - Clickable functionality, brings user to home page
PC - Visible on the top left of the webpage with the feature of always bringing the user to the homepage
Mobile - Visible on the top right of the navigation bar
Navigation
Mobile Burger Menu - Located on the top left of the mobile navigation bar, clicking this will open the navigation menu. This element suses the mouse hover attribute
Mobile X Icon - Replacing the general position of the Burger Icon, clicking this will close the mobile/tablet navigation. This element uses the mouse hover attribute
Side Pannel - Containing 4 page links. A transparancy filter is applied to the active corresponding link, hovering also darkens corresponding elements
Social Media Icons - Opens a new tab, using the “_blank” attribute
1 - Upon hovering, each link will transition into an animation to their corresponding colour (I.E. Purple for Instagram. Orange for Patrion. Red for YouTube. Blue for Tiktok) I achieved this effect by using a filter and adding a transition period to the hover pseudo-class
All navbar information is listed-out on the left side of the body, on each page.
The Login Feature is enabled through Python/Flask and the login details are given above.
There is now a page to edit, add or delete Films: Upload:
Edit page: During Editing:
In the future I would like to implement a proper "contact us" form, instead of the slapdash method of opening the email app, which is in place now. I would also like to add animations to the project, for example, when the navbar opens or closes, as it would add more fluidity to the page. I would also like to implement a feature called 'Randomiser' in the navigation bar, which would select a random film from the current list.
Due to time constaints, I was not able to condense the code in and utilise the Flask framework to the fullest. This would include the nav bar, which currently takes up a large portion of the site storage. In the future, this would only need to be written once, and the template reused for new implementations and films
While I have not added aria-labels to enable screen readers to understand my webpage, I have ensured that my code is semantic enough and I have ensured there is adequate contrast for ideal readability. However, I understand the need to make my site more accesible to visually impared users, through screen readers.
Once I use navigation & swap from tablet mode to peace mode. There, the contents do not change their states back to its default.
In my About page, I had no issues here until I ran into problems with the ".bubble" class. I tried to fix this by having the background wrap more closely with the text, and aligning content with flex to the center of the box. This had fixed one issue but also left all of the bubbles as the same size. It is mostly fixed however.
Along my journey I had experienced a great number of bugs and unintended consequences in the user experience. This ranged from elements which did not display at all, to elements covering the entirety of the screen. --- ## Acknowledgments: --- * Credits to Natsuko, the designer who helped me with the logo, and who was a big help in designing the site.
Logo - Designed by Natsuko for this project in Figma
I used the filters from here, allowing me to easily apply the right filter to make the hover effect animation on my svg match the intended colour, with minimal trial and error on my end.
When working on Filmlab, I had issues with the javascript. Primarily with regards to adding a behind the scenes (bts.html) image carousel, with autoscroll functionality. Because of that, I used this video as inspiration for my BTS page https://www.youtube.com/watch?v=9HcxHDS2w1s
I then added onto it using chat GPT, asking it to add a timer for an autoscroll.
For the cards on my about us (directors), I had assistance from an online news article, however I can not find it anymore, unfortunately.