Skip to content

tindyc/Combat-Canvas

Repository files navigation

Hackathon Project No 3 - Art therapy gallery.

Team 6, Team Name : Piccadilly Pythons.

Project Name : Combat Canvas.

TABLE OF Contents


Project Demo Page

Screen image

Project Live Demo Page

Project Brief

Code Institute London Hackathon project in conjuction with SODA Social and in partnership with ex-militarycareers.com came up with the initiative Supporting Veterans' Mental Health.

The team has chosen The ART THERAPY GALLERY: A platform where veterans can submit and showcase their creative work. We believe that mental health awareness is vital amongst veterans. There is overbearing stigma surrounding mental health with lack of educational resources and so many are left aliented in society. This project is dedicated to help create a space for veterans to express themselves through therapeutic art, and we hope this will help to reduce the stigma and promote cathartic therapy that art can offer.

This project is also an opportunity for CI students to brainstorm and also to use their coding skills to develop apps and websites to support the veterans activities such as Wellness tracker, Veterans stories and other Mental health resources.

In preparing for this project we have conducted research on some veterans websites and also partictipated in the SODA webinar with some veterans present. This gave us more insights on what to develop for the project.

The team has created a gallery to showcase the veterans' work. We have used Django and Python programming skills to develop the webpages and incorporated CRUD functionality (Create, Read, Update and Delete). Team has worked in sprints using Agile methodology to deliver the project.

User Experience

In this section, We are going to provide insights into the UX process, mainly focusing on the art therapy gallery which is what this application is built for, what it intends to achieve and how veterans can best utilise this web application to fulfil their needs.

The webpage contents and functionality has been developed with user interface and aesthetics in mind, catered to our demographic.

According to Caglar Araz from UX Collective, User Experience (UX) is "User experience refers to the singular and accumulated experiences that occur for users as a consequence of them interacting with an object in a given context."

The planning and development of this project is divided into 5 planes:

  1. The Strategy Plane

  2. The Scope Plane

  3. The Structure Plane

  4. The Skeleton Plane

  5. The Surface Plane


    Strategy Plane

Creator Goals

  • Our website is designed to bring veterans together through art.

  • At Combat Canvas users can not only veiw art, but be encouraged to create projects themselves.

  • Using the site's log in feature users can create a profile and upload their own creations and comment on each others' to encourage them.

  • The site aims to be responsive to all devices, and accessible to keyboard only users and users with visual impariments.

User Stories

A vetaran without previous access to art therapy. Objective: I am hoping that art therapy becomes a calming influence in my life and helps my PTSD flashbacks become less frequent as a result. I am looking for a website that is easy to navigate.

A veteran who is struggling with lonilness and a loss of identity. Objective: I am looking to Combat Canvas to help me engage with a new community. I also am looking to start a new hobby so that I can figure out who I am outside of the Military.

A veteran whose time in the miltary has ended and stuggles with anger and depression. Objective: I am looking for a way to process my emotions in a healthy way I want to build new connections with people who have the same experiences.

Features

The site allows users to register for an account, view other users projects and interact with the online community. Registered users are able to login/logout and to create and update their own profiles and save their work to the online gallery page. Website users are able to view artwork and profiles and the contents of the webpage. Registered users are able to upload projects and leave comments. Admin is able to add, edit or delete the users projects, and its comments. Users are able to delete their own projects and edit their account information. CRUD Functionality

Home page: • Clickable button to direct to gallery page

Login page: • Log in • Log out • Add profile

User Page: • Delete profiles • Upload project • Delete project • Edit comments • Delete comments

Veterans page: • Add comments • Send message through contact form

Scope Plane

  • A simple home page with responsive navigation bar to allow user to easily navigate without having to scroll and to show the purpose of the website.

  • Simple roadmap design that is visually appealing, non-distracting and easy to follow.

  • The design of the website should be visually consistent across all aspects to make it visually pleasing and comfortable for users.

  • The web application should be responsive across different resolutions.

Structure Plane


  1. Home

    • The Navbar is always fixed on top of the page with COMBAT CANVAS logo , the logo is on the left-hand side of the bar and a menu on the right with clear names of site pages for the ease of navigation. The carousel changes the images. This Navbar will stay consistent throughout the entire website and will automatically minimised into a hamburger menu on smaller devices.

    • The content of the home page contains the veterans pictures, and other contents they can navigate to.

    • A footer with social media links is featured at the bottom to allow users to easily connect with socials.

Wireframes

Wireframe Skeleton

We have created mockup screens of the webpage functionalities using Balsamic Software tool. The initial draft of the wireframe was based on how user can navigate each page on the site however, the final product might be different due to team design thinking improvement.

Click link below to open wireframes

Surface

Design

The website has been designed with a good user look and feel with minimal color distraction. All the fonts and styles are consistent throughout the site to make the users feel comfortable. With the help of CSS styles and media queries, the site is responsive across devices from desktop and laptop, to tablet and mobile. Even on smaller devices, the contents are aligned proportionally and styled to make sure they are still legible and well-displayed. Altogether, the design and layout of the site should be entertaining and captivating so that a user is able to understand and enjoy the site.

Typography

We have used Oswald Heavy fonts for headings and Merriweather for Paragraph

Colour Scheme.

Technologies Used

Frameworks and libraries used

  • Django
  • Python
  • CSS
  • Html
  • Google Fonts

Testing


Testing was done within the team.

Also validated the user friendliness of the site to conform with user experience design.

All the functional requirements met the acceptance criteria set up by the team.

DATABASE DESIGN

Throughout the development stage of the project, SQLite3 was used as this is the default database included with Django. On deployment, you are given the option to utilise PostgreSQL as this is included with Railway.app.

User Profile Model

user = models.OneToOneField(
    User, on_delete=models.CASCADE, null=True, blank=True)
name = models.CharField(max_length=200, blank=True, null=True)
email = models.EmailField(max_length=500, blank=True, null=True)
username = models.CharField(max_length=200, blank=True, null=True)
location = models.CharField(max_length=200, blank=True, null=True)
short_intro = models.CharField(max_length=200, blank=True, null=True)
bio = models.TextField(blank=True, null=True)
profile_image = models.ImageField(
    null=True, blank=True, upload_to='profiles/', default="profiles/user-default.png")
social_twitter = models.CharField(max_length=200, blank=True, null=True)
social_linkedin = models.CharField(max_length=200, blank=True, null=True)
social_youtube = models.CharField(max_length=200, blank=True, null=True)
social_website = models.CharField(max_length=200, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True)
id = models.UUIDField(default=uuid.uuid4, unique=True,
                      primary_key=True, editable=False)

Project Model

owner = models.ForeignKey(
 Profile, null=True, blank=True, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
description = models.TextField(null=True, blank=True)
featured_image = models.ImageField(
    null=True, blank=True, default="default.jpg")
demo_link = models.CharField(max_length=2000, null=True, blank=True)
tags = models.ManyToManyField('Tag', blank=True)
vote_total = models.IntegerField(default=0, null=True, blank=True)
vote_ratio = models.IntegerField(default=0, null=True, blank=True)
created = models.DateTimeField(auto_now_add=True)
id = models.UUIDField(default=uuid.uuid4, unique=True,
                      primary_key=True, editable=False)

Deployment

Application Hosting

Railway.app

The site is hosted using Railway, deployed directly from the main branch of GitHub. The deployed site will update automatically as new commits are pushed to the master branch.

Creating a Railway app

  • From the Railway.app dashboard:
    • Select “New Project"
    • Select “Deploy from Github repo"

Setting Environmental Variables

  • From the Railway dashboard:
    • Select your app from the list
    • Select "Variables" from the menu
    • Add environment variables in key-value pairs, click "Add" to add additional pairings.

Deployment

  • Create required deployment files in the repository:
    • requirements.txt

      • Lists the required python modules for Railway.app to install.
      • To create:
        • In your IDE terminal, type: pip freeze > requirements.txt
    • Procfile

      • Tell Railway.app the command to launch the app. ''web: python manage.py migrate && gunicorn CombatCanvas.wsgi''
    • runtime.txt

      • Tell Railway.app the version of python used in the project. ''python-3.9.6''
    • .gitignore (optional)

      • Lists files and directories which should be deployed to live app, such as files with environmental passkeys.
      • To create:
        • In your IDE terminal, type: touch .gitignore
        • List the files and directories to be excluded from live deployment, within the .gitignore file.
        • Save in your repository root directory.

Credits

We have acknowledge the sources below to credit their contents used.


*Website Sources with research topic links.

PTSD

Depression

Anxiety

Art Therapy

Combat Stress

Soldiers battle PTSD with art

Where Veterans Unleash their Creative Firepower

Celebrating Veterans' Artistic Valor

Gallery Contents

RODNAE Productions

Thirdman

Los Muertos Crew

Quang Nguyen Vinh

picjumbo.com

Acknowledgments

Shout to all the team Team 6- Picadilly Pythons.The team has been incredible hard working within the short period of time. Thank you to Team. Members of the team:

Patrick Pereira Vieira, Tindy Chan Lydia Young Ibi Alex Doherty Vasile Tios Tsimourdagkas Ant

We acknowledge SODA and all the Code institute staff on site for the London April Hackathon for their support on site.

Disclaimer

All resources used for this project are intended for Academic purposes ony.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors