tomik-z-cech / PP4-Aneta-s-Glimmer

Elevate your style with our online nail art studio. Perfect for beauty lovers seeking inspiration and expert tips. Unleash creativity now !
https://anetas-glimmer-05b4a3ceb113.herokuapp.com/
1 stars 1 forks source link
beauty nail-art-designs nails

Aneta's Glimmer - Portfolio Project 4


1. Key project information

Mockup


2. Table of content

Back to top


3. User Experience (UX)

3.1. The Strategy Plane

3.1.1 The Idea

3.1.2 The Ideal User

The target audience are individuals or groups that are seeking inspiration in finger nail modelling, looking for new trends, likes to see opinion of others in the same thread.

3.1.3 Site Goals

3.1.4 Epics

As a thought process of the strategy plane, 12 epics were created and utilized. Please see below the detail list of epics with links, or a link to the project's Kanban Board (appendix 1). Those Epics were further sliced into 49 USER STORIES.

Appendix 1 - Kanban Board

Kanban Board

3.1.5 User stories

49 User stories were created based on the Epics. Each user story uses the MoSCoW prioritization technique. Each user story was also estimated for relative effort required to implement satisfactory result of acceptance criteria. My Story points are using a sequence inspired by the Fibonacci numbers (1, 2, 3, 5, 8, 13, etc.). This reflects the uncertainty and variability in estimating larger tasks. The idea was to easy distinguish the initial size of user story using this non-linear sequence. Each user story on the Kanban Board was given 2 labels (MoSCoW and Story Points).

MoSCoW prioritization technique stands for:

Must-Have: Critical requirements that must be implemented for the project to be considered successful.

Should-Have: Important requirements that are not critical but add significant value.

Could-Haves: Desirable features that would be nice to have but are not crucial.

Won't-Have: Features that are explicitly excluded from the project scope.

The total Story Points in the project is 129.

List of user stories sorted by Epic :

View User Stories for EPIC 1 : Environment configuration | Issue | Title | User Story | | ------------------------------------------------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | [# 1](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/1) | USER STORY : Set up GiHub repository | As a Developer, I need to set-up a repository on GitHub platform to be able to have control over versions of project. | | [# 2](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/2) | USER STORY : Create working Django app | As a Developer, I need to install all dependencies, correctly set settings.py and create working app in local environment. | | [# 3](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/3) | USER STORY : Deploy to Heroku | As a Developer I need to create a working Heroku deployment. |
View User Stories for EPIC 2 : Database models | Issue | Title | User Story | | --------------------------------------------------------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | [# 13](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/13) | USER STORY : Define Database Schema and create sub apps. | As a Developer, I need to create database schema that fits the purpose of the project and also create all the modular apps that will be used in the project. | | [# 14](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/14) | USER STORY : Create database relationships | As a Developer, I need to define relationships between models and import the relationships into working apps models. | | [# 15](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/15) | USER STORY : Implement Data Validation in Models | As a Developer, I need implement data validation rules within Glimmer database models. |
View User Stories for EPIC 3 : User Authentication and Authorization | Issue | Title | User Story | | --------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------ | | [# 17](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/17) | USER STORY : Implement user registration | As a Site User I am able to register to create new account and to select username and password. | | [# 18](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/18) | USER STORY : Log In | As a Site User I am able to Log In to see registered user section. | | [# 19](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/19) | USER-STORY : Reset my password if forgotten | As a Site User I am able to Reset My Password to change my password if forgotten. | | [# 48](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/48) | USER STORY : Log out | As a Site User, I am able to log out to leave the site functions for registered users. |
View User Stories for EPIC 4 : User Details Change | Issue | Title | User Story | | --------------------------------------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [# 21](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/21) | USER STORY : Opt In/Out for Newsletter | As a Site User I can Opt In/Out for Newsletter to be able to change my preferences. | | [# 22](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/22) | USER STORY : Change Details (Phone Number, Email Address, etc.) | As a Site User I can Update My Detail to be able to manage my account in case of changes. | | [# 23](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/23) | USER STORY : Delete my account | As a Site User I can Delete My Account to be able to opt out from all services. |
View User Stories for 5 : News, News Commenting & Liking | Issue | Title | User Story | | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------- | | [# 25](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/25) | USER STORY : See News Highlights on landing page | As a Site User I can See the News Highlights to see three newest news posts. | | [# 26](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/26) | USER STORY : See list of all News & Details | As a Site User I can Visit Page with all News to be able to see all News. | | [# 27](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/27) | USER STORY : Like/Unlike News | As a Site User I can Like or Unlike News Post to highlight the News Post as interesting. | | [# 28](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/28) | USER STORY : Comment on News | As a Site User I can Comment on News Post to share my opinion. | | [# 29](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/29) | USER STORY : See other users Comments | As a Site User I can see other comments on News Posts to read other Users opinions. | | [# 30](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/30) | USER STORY : See who else liked | As a Site User I can see who else liked News Posts to see who else has the same opinion. |
View User Stories for EPIC 6 : Styles Functions | Issue | Title | User Story | | --------------------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | [# 32](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/32) | USER STORY : List of Styles | As a Site User I can See list of available styles to be able to choose one to see details. | | [# 33](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/33) | USER STORY : Styles Details | As a Site User I can See Style details to see description and what artist does this particular style. | | [# 34](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/34) | USER STORY : Like / Unlike Styles | As a Site User I can Like / Unlike particular Style to express my opinion. | | [# 35](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/35) | USER STORY : See who else likes the particular Style | As a Site User I can see who else liked the particular style to see who else has same opinion. | | [# 36](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/36) | USER STORY : Mark / Un-mark Styles as "Wan't to try" | As a Site User I can Mark / Un-mark particular style to express my interest. | | [# 37](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/37) | USER STORY : See who else marked the particular style as "Want to try" | As a Site User I can see who else marked particular style as "Want to try to see who else has same interests. |
View User Stories for EPIC 7 : Booking Management | Issue | Title | User Story | | --------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | [# 39](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/39) | USER STORY : Create a booking | As a Site User I can Create new booking and to be able to choose date, time and artist. | | [# 40](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/40) | USER STORY : See my bookings | As a Site User I can See all my bookings to be able to keep record of them. | | [# 41](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/41) | USER STORY : Update my bookings | As a Site User I can Update any of my future bookings to change details. | | [# 42](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/42) | USER STORY : Delete my bookings | As a Site User I can Delete any of my future bookings to cancel the booking. | | [# 43](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/43) | USER STORY : Leave review after booking finished | As a Site User I can leave review to let the others know about my satisfaction. | | [# 44](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/44) | USER STORY : Get confirmation of my booking being approved | As a Site User I get confirmation email when my booking is approved to be sure the booking is going ahead. |
View User Stories for EPIC 8 : Search Bar | Issue | Title | User Story | | --------------------------------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | [# 52](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/52) | USER STORY : Create search bar on landing page | As a Site User I am able to use search function through Artists, Styles and News to quickly find what am I looking for. | | [# 53](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/53) | USER STORY : Provide search results | As a Site User I can see search result to easily navigate through them. |
View User Stories for EPIC 9 : Business owner objectives | Issue | Title | User Story | | --------------------------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | [# 55](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/55) | USER STORY : Delete user | As a Site Admin, I can delete user accounts that are no longer in use to make sure my database of clients is up to date. | | [# 56](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/56) | USER STORY : Manage news | As a Site Admin, I can add news posts to keep content up to date. | | [# 57](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/57) | USER STORY : Manage available styles | As a Site Admin, I can add available styles to keep content up to date. | | [# 58](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/58) | USER STORY : Manage artists | As a Site Admin, I can add nail artists to keep list of employees up to date. | | [# 59](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/59) | USER STORY : Approve comments | As a Site Admin, I can approve comments to ensure no harmful content. | | [# 60](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/60) | USER STORY : Mark bookings as confirmed | As a Site Admin, I can mark bookings as confirmed to inform user of the progress. | | [# 61](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/61) | USER STORY : Mark bookings as done | As a Site Admin, I can mark bookings as done to inform user of the progress and allow user to rate. | | [# 62](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/62) | USER STORY : Last-minute bookings | As a Site Admin, I need to provide users with "last-minute" bookings available to let them know how many slots are free the following day. |
View User Stories for EPIC 10 : Styling and design of UI | Issue | Title | User Story | | --------------------------------------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | [# 71](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/71) | USER STORY : Intuitive navigation | As a Site Developer, I need to insure easy navigation throughout the site. | | [# 72](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/72) | USER STORY : Color scheme | As a Site Developer, I need to insure same color scheme throughout the site | | [# 73](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/73) | USER STORY : WAVE compatibility | As a Site Developer, I need to insure that site can be easily navigated using page readers, so it doesn't have WAVE issues. |
View User Stories for EPIC 11 : Testing and Validation | Issue | Title | User Story | | --------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------- | | [# 75](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/75) | USER STORY : W3C HTML validation | As a Site Developer, I need to ensure \*.html files do pass the W3C validation. | | [# 76](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/76) | USER STORY : W3C CSS validation | As a Site Developer, I need to ensure style.css file do pass the W3C validation. | | [# 77](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/77) | USER STORY : JS validation | As a Site Developer, I need to ensure \*.js files do pass the JS Lint validation. | | [# 78](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/78) | USER STORY : PEP8 validation | As a Site Developer, I need to ensure \*.py file do pass the PEP8 validation. |
View User Stories for EPIC 12 : Custom Admin interface | Issue | Title | User Story | | --------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | [# 80](https://github.com/tomik-z-cech/PP4-Aneta-s-Glimmer/issues/80) | USER STORY : Admin interface that copies functions of Django Admin Suite | As a Site Developer I need to come up with custom admin interface that ensures all functions of Django Admin Suite, |

3.2. The Scope Plane

After decided on the strategy, the scope plane was carefully created.

3.2.1. Features to be implemented

3.3. The Structure Plane

3.3.1. Site Maps

The following site-maps show how the site is structured to logged in users ( appendix 2 ) and not logged in users ( appendix 3 ).

Appendix 2 - Site Map - Logged In

Site Map - Logged In

Appendix 3 - Site Map - Not Logged In

Site Map - Not Logged In

3.3.2. Database Schemas

Following schemas show intended database structure ( appendix 4 ) and the actual database structure generated by DBeaver ( Appendix 5 ).

Appendix 4 - Initial DB schema

Site Map - Logged In

Appendix 5 - DBeaver DB schema and relationships

Site Map - Not Logged In

3.4. The Skeleton Plane

3.4.1. Wire-frames

Appendix 6 - Header and Footer Wire-frame

Header and Footer Wire-frame

Appendix 7 - Landing Page Wire-frame

Landing Page Wire-frame

Appendix 8 - News Page Wire-frame

News Page Wire-frame

Appendix 9 - News Detail Page Wire-frame

News Detail Page Wire-frame

Appendix 10 - Styles Wire-frame

Styles Wire-frame

Appendix 11 - Style Detail Page Wire-frame

Style Detail Page Wire-frame

Appendix 12 - Team Wire-frame

Team Wire-frame

Appendix 13 - Team Member Detail Page Wire-frame

Team Member Detail Page Wire-frame

Appendix 14 - My Bookings Wire-frame

My Bookings Wire-frame

Appendix 15 - New/Edit Booking Form Wire-frame

New/Edit Booking Form Wire-frame

Appendix 16 - My Profile Page

My Profile Page

Appendix 17 - Search Results Page

Search Results Page

Appendix 18 - Forms

Forms

3.5. The Surface Plane

Once the Strategy, Scope, Structure and Skeleton Planes were in place, it was time to work on the Surface Plane (Design).

3.5.1. Logo

To create the logo, site called Looka was used. Few ideas were presented to the site owner and one of the logos was picked ( Appendix 19 )

Appendix 19 - Logo

Logo

3.5.2. Color pallette

Based on the colors of the logo, rest of the colors were picked using the Adobe Color Wheel, following colors were picked into the color pallette ( Appendix 20 ). As some of the colors needed to be opaque, following CSS variables were established ( Appendix 21 ).

Appendix 20 - Color pallette

Color pallette

Appendix 21 - Color variables

Color variables

3.5.3. Fonts

Google Fonts site was used to pick the best typography style. The most importance was given to balance between style and readability. As a developer I needed to ensure that all text is displayed clear.

Two fonts were picked and saved in CSS vars ( Appendix 24) :

Appendix 22 - Permanent Marker Font

Permanent Marker Font

Appendix 23 - Sriracha Font

Sriracha Font

Appendix 24 - Font Variables

Font Variables

3.5.4. Icons and pictures

Icons were downloaded from Flaticon. Majority of icons are free to download and use under the their T&C license. Icons were user for like, try, comments and rating functions in this project.

Site called Freepik was used to download images used in this project. The site offers massive amounts of imagery that is free to download and use under their T&C license. Images from Freepik were mainly used as background images.

Profile pictures of non-existing artists in this project were created by AI called Canva. Reason for this was a need of profile pictures of artists with certain parameters and they were very difficult to find under free license.

Back to top


4. Features

4.1. Features used in every HTML template

4.1.1 Header

Appendix 25 - Logo

Logo

Appendix 26 - Menu

Menu

Appendix 27 - Hamburger Menu

Menu

4.1.2. Footer

Appendix 28 - Footer

Footer

4.1.3. Favicon

Appendix 29 - Favicon

Favicon

4.1.4. Error Pages

Appendix 30 - 403.html

403.html

Appendix 31 - 404.html

404.html

Appendix 32 - 500.html

500.html

4.1.5. Scroll bar

Appendix 33 - Scroll bar

Scrollbar

4.2. Main Content

4.2.1. Landing Page

Appendix 34 - Landing Page

Landing Page

4.2.2. News Page

Appendix 35 - News Page

News Page

4.2.3. News Detail Page

Appendix 36 - News Detail Page

News Detail Page

Appendix 36 - News Detail Page - comments & likes

News Detail Page - Comments

4.2.4. Styles Page

Appendix 37 - Styles Page

Styles Page

4.2.5. Styles Detail Page

Appendix 38 - Style Detail Page

Style Detail Page

Appendix 39 - Style Detail Page - comments, likes & tries

Style Detail Page - Comments

4.2.6. Team Page

Appendix 40 - Team Page

Team Page

4.2.7. Artist Detail Page

Appendix 41 - Artist Detail Page

Artist Detail Page

4.2.8. My Bookings Page

Appendix 42 - My Bookings Page

My Bookings Page

Appendix 43 - Last Minute Bookings

Last Minute Bookings

4.2.9. Bookings Forms

Appendix 44 - Bookings Forms

Booking Forms

4.2.10. My Profile Page

Appendix 45 - My Details Page

My Details Page

4.2.11. Search Results Page

Appendix 46 - Search Results Page

Search Results Page

4.2.12. Forms

Appendix 47 - Forms

Forms

4.3. Future Features

This project could be significantly improved by adding more features this could include :

Back to top


5. Validation, Testing & Bugs

5.1. Validation

Validation is documented separately in validation.md file.

5.2. Testing

Testing is documented separately in testing.md file.

5.3. Bugs

Bugs are documented separately in bugs.md file.

Back to top


6. Deployment

6.1. Transfer of progress from IDE

6.2. Offline cloning

6.3. Deployment Prerequisites

6.3.1. Gmail

6.3.2. ElephantSQL

6.3.3. Cloudinary

6.3.4. Settings.py & file-tree

Appendix 48 - env.py file

env.py

6.4. Deployment to Heroku

Appendix 49 - Heroku Config Vars

Heroku Config Vars

Appendix 50 - Procfile

Procfile

Back to top


7. Technologies & Credits

7.1. Technologies used to develop and deploy this project

7.3. Requirements.txt

Following modules were used in development of Aneta's Glimmer website :

7.3. Credits

Back to top