nathan-bytecode / midlands-soccer-lessons

0 stars 1 forks source link

Midlands Soccer Lessons

Am I responsive

This project is a website for soccer lessons based in the midlands of Ireland. The user's aim is to be able to create an account, login, edit and delete as needed. The user should also be able to view, book and manage soccer training courses with the option of selecting from three distinct venues.

This project is aimed to target ages 7-21 boys and 9-21 girls who are interested in developing their soccer skills.

- Nathan Nicholson

Live site

Table of Content

  1. UX
  2. Agile Development
  3. Features
  4. Features Left to Implement
  5. Technology used
  6. Testing
  7. Bugs
  8. Deployment
  9. Credits
  10. Acknowledgements

UX

Pre-project Planning

Database structure

UX Design

Overview

As Midlands Soccer Lessons is a website that targets parents who have kids from the ages 7 for boys and 9 for girls upwards, I wanted to design the website with a bright welcoming feel. For each course available a photo was carefully selected to attract interest. The main goal of the website is to allow users to view some photos of the venue, see what the courses have to offer, choose from the different options and then the user can create an account and use it to make bookings for soccer lessons.

Wireframes

As displayed below, this wireframe was a great guide for me to design the home landing page.

Home page landing

Here its easy to see how I drew inspiration from this wireframe but the project's profile page itself is not exactly as planned. I've not included the following: user profile image, user's display of a phone number, booking status and the opttion to delete user account as I ran out of time.

Profile page

Agile Development

Agile Overview

This project was started alongside a GitHub Projects Page to track and manage the expected workload ahead. The aim was to set out my expected workload, list the epics and then break them down into user stories or bite sized tasks to work towards and ultimately finish the site in good time.

To see Kanban please click here.

User Stories

The user stories tool served as a checklist throughout this project and enabled me to keep on the right track. User stories #8 and #9 are still in the To Do list as I ran out of time to implement.

  1. USER STORY: Deploy Website#1
  2. USER STORY: Admin Panel#2
  3. USER STORY: Create an account (CRUD)#3
  4. USER STORY: Base Template#4
  5. USER STORY: Make a Booking#5
  6. USER STORY: Courses#7
  7. USER STORY: Edit Profile (CRUD)#8
  8. USER STORY: Delete Profile (CRUD)#9

Features

User based features

Website features

Home page
Bookings page
Courses page
Profile page

Features Left to Implement

Technologies Used

Html

Used to structure my webpages and the base templating language.

CSS

Custom CSS was written on large chunks of this site to make it as close to the wireframes as I felt it needed to be.

JavaScript

Used to add timeout function for messages as well as to enable the menu on index.html.

Python

Used for the logic in this project.

Django

Framework used to build this project. Provides a ready installed admin panel and includes many helper template tags that make writing code quick and efficient.

Font Awesome

Icon library used for the profile and admin panel section.

Bootstrap 5

Used as the base front end framework to work alongside Django.

GitHub

Used to store the code for this project & for the projects Kanban board used to complete it.

Heroku

Used to host and deploy this project.

ElephantSQL - PostgreSQL

ElephantSQL - PostgreSQL was used as the database for this project during development and in production.

Cloudinary

Used to host the static files for this project including user profile images.

Git

Used for version control throughout the project and to ensure a good clean record of work done was maintained.

Testing

For this project I used manual testing by creating a table using Google Sheets.

Account Registration tests

Account registration - create

Security tests

Security tests

Booking tests

Booking tests

CRUD tests

Read, update, delete tests

HTML W3 Validation

HTML W3 Validation

CSS Validation

CSS Validation

Bugs

Throughout my project right until the end I could not find why the Social Media heading was underline. To try bring a better UX I even underlined the Contact heading beside it to make it seem on purpose. Only after running my website through the HTML checker did I realise I was missing the letter 'l' for the '