Mvogtsinga / week-food-foot

0 stars 0 forks source link

logowwf

Welcome to WEEKENDFOODFOOT Restaurant

A restaurant website

A responsive,restaurant website with registration and table booking system with different formats for customers.create as a final Project Portfolio during the Full stack Software Developer-Skills Bootcamp at Code Institute. Link to the live site here

-By Aubin KOENIGSSOHN-

Table of contents

  1. UX
  2. Agile Development
  3. Features implemented
  4. Feature left to implement
  5. Technology used
  6. Testing
  7. Bugs
  8. Deployment
  9. Resources
  10. Credits and acknowledgements

UX

Database planning

Data Structure

Data_Schema_Planing_WFF

Data models

UserProfile model

Key Name Field
PrimaryKey client OnetoOneField
x user_name Charfield
x first_name Charfield
x last_name Charfield
x email Emailfield

Reservation's model

Key Name Field
ForeignKey client_reservation ForeignKey
x reservation_day DateField
x reservatin_time CharField
x tables_option CharField
x table_reservation TextField
x date_reservation DateTimeField
x confirmation IntegerField
x slug AutoSlugField

UX design

Overview

Design

Initial design planning

Before starting to code, I chose to take some time to imagine the design of the home page of a restaurant and a Logo. I wanted my website to look professional and modern. playing with somes colours like yellow, black, white and orange seems perfect for my project.

Home_WFF

Homepage

Home_WFF

Sign up_page

Sign_Up_WFF

UserLogin_page

Login_page_WFF

Menu_page

Menu_sWFF

Reserves_table_page

Reserve_Table_WFF

Admin_page

Admin_page

Site User

Goals for the website

Wireframes

I used the wireframe Balsamiq to have a clear view about the futur website as next stage of UX design planning.I wanted to have a realistic overview of my future website and make it easy for the user to navigate throughout the different pages.I plan to build the website like this:

Login page Login_wireframe

Sign_Up page Sign_up_Formular_wiref

Home page menu_food_page_wireframe

Reserve_table page reserve_table_page_wireframe

Menu_foods page menu_food_page_wireframe

Account page account_page_wireframe

Agile Development

Overview

I initiated this project in conjunction with GitHub Projects with the goal of organizing and monitoring the workflow to effectively handle the anticipated workload. Once I outlined the epics for my project, I further divided them into a series of user stories and smaller tasks to facilitate tracking my advancement and completing the website on schedule. In addition to user stories, I created individual issues for developing each module of this README file, as I found this approach to be more inspiring. To view the project's Kanban page, please click here.

User Stories

Initial stage of the project included stepping into the shoes of the future User. I thought about the features and functionality I would expect from the first use of the website and based on that I created a set of 8 User Stories. I labelled it as important, as they provide the core functionality and source of essential informations for the User.base functionality.

The User Stories include the acceptance criteria and are broken down into smaller, bite- size tasks that I would tick on completion, so I could easily track my progress. During the coding session I would record the encountered bugs, issues and solutions related to the Story in the comments below. Once all of the tasks in the Issue are completed I would move the User Story form "In progress" to "Completed" card im my project's Kanban.In flow of the project I forgot to follow this plan.

List of Important User Stories

  1. USER STORY: LOGIN
  2. USER STORY: SUPERUSER PANEL
  3. USER STORY: CREATE AN ACCOUNT
  4. USER STORY: RESERVATION CANCELLATION
  5. USER STORY: BOOK A TABLE
  6. USER STORY: NAVBAR AND FOOTER
  7. USER STORY: MENU
  8. USER STORY: DEPLOYMENT
Back to table of contents

features-implemented

Navbar and Footer:

Index page:

Home page:

Authentication and profile management:

Reservations:

Responsiveness:

Back to table of contents

Feature left to implement

The Main feature I did not implement in my project was to give customer the opportunity toedit their profile. For me personally it was not important. Many peaople don't like to share privat informaions.Without editing a profile you don't also need to delete it.

Back to table of contents

Technology used

The site has been built with the following tech and tools:

Back to table of contents

Testing

Responsiveness

I was testing for responsiveness on an AsusVivoBook laptop, a iPad air and a Samsung Galaxy Note 10 using the most up to date versions of Google Chrome and Mozilla versions. For more detailed testing I was using Google DevTools.I failed by using the Web pages ui.dev and responsivedesignchecker for test of responsiveness. For this documentation i used BrowserStack.

Index page:

sign_up page:

Manual testing

Account Registration Tests

Test Result
User can create account Pass
Messages are displaying Pass
Messages are dismissable by button Pass

User Navigation Tests

Test Result
User can easily navigate to Reservation Pass
User can access Home page Pass
User access their account page Pass
User can access the card content in Home Pass
SuperUser can access admin page Pass

Account Authorisation Tests

Test Result
Only Superuser can access admin page Pass
Non authorised user can not book a table Pass
Non authorised user won't access account page Pass

Reservations Tests

Test Result
User can make a reservation Pass
User can view all of their reservations Pass
User can delete their reservation Pass
User can edit reservation Pass
User can make more than one reservation Pass
User can delete their account Pass
User can change their information Pass
User can see the confirmation information Pass

Admin Tests

Test Result
Items display correctly on front-end when updated / added Pass
Admin can confirm or decline bookings Pass
Back to table of contents

Known bugs

Back to table of contents

Deployment

The deployment stage of the website should follow the steps below:

Create the Heroku app

Set up enviroment variables

Heroku deployment

Forking the repository

By forking the GitHub Repository you can make a copy of the original repository to view or change without it effecting the original repository. You can do this with following steps:

Create a clone of this repository

Creating a clone enables you to make a copy of the current version of this repository to run the project locally. To do this follow steps below:

Back to table of contents

resources

Back to table of contents

Credits and acknowledgements

Credits

Images

Videos

Template

Acknowledgements

CI logo

Back to table of contents