tmarkec / take_a_hike

0 stars 1 forks source link

Take a hike

Take a hike is a fully responsive full-stack website that I have built using the Django Full Stack framework for my Portfolio Project 4. I created this website to promote an adventure style of life and to give users the opportunity to explore local areas and mountains with us.

Am i responsive image

Click Here To Visit Live Site

Table Of Contents:

  1. Design & Planning

  2. Features

  3. Future Features

  4. Technologies Used

  5. Libraries

  6. Testing

  7. Bugs

  8. Deployment

  9. Credits

  10. Acknowledgements

Design & Planning:

User Stories

First time visitor

Wireframes

Below are the wireframes for the site that I created using balsamiq. As I was developing my website I was using agile approach and adding/updating my website/elements so for that reason some wireframes are not matching my final product.

Desktop

Home page
Post page
Single post page
Profile page
Signup page

Mobile

Home page
Posts page
Single post page & navigation menu
Profile
Sign up
Login
Edit comment
Reset password
New password

Agile Methodology

The Agile Methodology was used to plan this project. I found it hard to work parallel on agile and on my coding as I was team of 1 and was aware of the changes so I found that to be confusing. I had to add a few things at the end of my project in github repository. I did learn more towards the end of the project about the use of the agile develepment, and why it's important and usefull to keep track of the whole process and to implement as much as you can. I've used Github and the Project Board with use of the Kanban board.

I devided project board into 3 sections:

Project board
Milestones
Milestone detail
User story detail

Typography

I chose to use "Dosis" font family beacuse it's easily readable on both small and large screens, making it a great option for websites and digital interfaces. It's clean with moder apperance. As a backdrop font I've used 'Sans-serif'.

Colour Scheme

For this website, I decide to keep the main color scheme very simple.Text was either white or black with background of certain cards and the footer beeing light red/orange color while the rest of the background is white. I kept consistant colours for buttons and links on the website. All buttons have hover effect of "Robin egg blue" except 'Delete & Update' button which are standard red and blue colored.

Color palette

DataBase Diagram

Below is the database diagram that I created using LucidCharts.

DataBase diagram

Features:

Navigation Bar

Navbar
Navbar medium screens

Footer

Footer

Home Page

Posts page

Posts page

Single post page

Update comment page

Update comment

Profile page

Profile page

Search page

Search page

Login page

Login page

Signup page

Sign up page

404 page

Future Features

Future features

Technologies Used

Libraries

Testing

The testing section can be found here.

Bugs

Bug Fix
On home page hero image was not loading Created new file path directly to Cloudinary
Post page was not displaying Change path in urls.py to post/
Admin page have no style Set DEBUG to True
Locally reset password email not working Implemented if else statemEnt for DEVELOPMENT in settings.py for email part
No css style on Heroku Before every deployment set debug to false and run "python3 manage.py collectstatic"
Deployment issue on Heroku multiple times error "etag" & error collectstatic Deleted all Cloudinary files and pushed code again
Password reset & password confirm templates not rendering, displayed django templates Renamed templates from django documentation
After signing up user was not logged in automatically Changed registration function and added extra code to store data from user and use it to login automatically
Profile model information was not updating with the user model on the profile page Combined 2 forms into 1 function
The user image was not uploading Added code in the form = 'enctype="multipart/form-data"'
No css styles on heroku Add ',' in settings.py 'STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]'
No css styles on heroku Deleted all static files in Cloduinary
No searched posts displayed on search page replaced {% if post in posts %} with {% if posts %} statemant and placed it outside div
Profile picture/ form was not saving properly Deleted 'username' from form fields in forms.py as I took it out from the template earlier so my form was not validating properly as it was searhing for that username

Unresolved bugs and issues

Bug Fix
Post image must be certain size in order to match other posts box sizes X
Uploaded user picture can looked stretch depends on the upload height and width X
Google map with hiking locations shows error message that "Page can't load Google maps correctly", the map and cluster locations are working though X
In dev tools in console I'm getting 2 errors. First is for self clossing messages accross webstie, and second one is for dissapering text on the index page, both are workin as expected X
Console issues

Deployment

This website is deployed to Heroku from a GitHub repository, the following steps were taken:

Creating Repository on GitHub

Creating an app on Heroku

Create a database On ElephantSQL

Deploying to Heroku.

Credits

Acknowledgements:

Back to the top