Git Product home page Git Product logo

traveller-website-pp4's Introduction

TravellerWorld Website

The TravellerWorld website displayed on different devices

  • TravellerWorld is a social trips blog which combines the functionality of social media with the practicality of a trips blog hosting site. Users can sign-up to share their own trip,like other's, and interact with each other through commenting.

Links

Link to the live project hosted on Heroku]

[Link to the project repository hosted on Github]


Table of Contents

Strategy

Target Audience

  • This site is targeted towards anyone who enjoys traveling - beginner or advanced - who would like to either share their own trips with others or search for some new ones to try.

User Stories

Admin

These are staff/admin users who maintain the site and manage it's contents.

Trip Sharers

These are users who intend to share trips on the platform.

Trips Viewers

These are users who intend to view trips that others have posted.

Scope

Research

  • Before any planning, I conducted research into both social media and trip/blog websites and took note of the conventional layouts and formats as well as which features I thought enhanced the user's experience and would be good to include for my target audience(s).

Future Features

Difficulty

  • Either inputted by the poster at time of creation, the trip could be assigned a difficulty (beginner, intermediate or pro) so that user's can select based on their current abilities.

Time Requirements

  • Similarly to difficulty, the time requirememnts could be added to the trip so that users can select based on their available time.

Testing

  • Throughout the project, I relied heavily on Chrome Devtools to help me view this project on different screen sizes so that I could adjust elements, create media queries (by adding bootstrap classes) for responsive design.
  • Code was also run through validators and automatic tests were run.

Structure

Wireframes

Information architecture

  • TravellerWorld is a blog-style site with multiple pages which relies on the MVC framework: Django to present information from a trip database and provide CRUD functionality.
  • Trips are presented as cards whilst browsing and full page views when viewing.The cards link to the trip viewer.
  • Trips can be browsed using words within the post or searching in the search bar in the top right of the navbar.
  • The home page displays 2 rows with trip cards.
  • All pages are responsive thanks to bootstrap classes.
  • Browsing/search results pages present the related trips in a large flex container.

Skeleton

Current Features

Header & Navbar

  • Sticky
  • Logo to the left with 3 navigation buttons: Home button, Browse dropdown with tags and Menu dropdown. When reduced to small screens, logo stay left while navigation hidden in collapsible menu.
  • Browse dropdown hosts links to browse trips by tag
  • Menu dropdown hosts links to interact with user's whilst logged in(Post a trip feature is available for users) or to login/register when logged out.
  • Search bar input which leads to search results page when submitted.

image

image

Footer

  • Copyright
  • External links to social medias on center

image image

Homepage

  • Welcomes user and displays either 2 carousel with post trips or 1 side-scrollers depending on screen size
Carousel
  • Up to 3 'pages' with 3 cards on. Less if not enough on the site. Displayed on larger screens.

!image

Scrollers
  • Cards displayed inline. Displayed on smaller screens and user can swipe to scroll.

image

Search bar

  • Displays all matching trips as cards in grid view.

image

image

Browse by tag

  • Displays all matching tags as cards in grid view image

Cards

  • Compact view of trip key features.
  • Displays trip image, title, caption, likes counter, comments counter and saves counter as well as a stretched link.
  • If trips belongs to the user currently logged in, user can show the username on the card trip.

image

No results

  • Suggested to search again if no results found

image

Trip

  • Trip image, title, author, budget, tags, route, accommodation, guide, information, created and modified dates and caption displayed in container at bottom.
  • Edit and delete buttons presented if viewed by owner. Like and comment available if visit by someone else.
  • Route, accommodation, guide and informations displayed in their own containers below

image

Post a comment

  • User or viewer can post a comment and delete it. image

Post a Trip/Edit a trip

  • Crispy form
  • Inputs: title, image select,budget, route, accommodation, guide and informations and tags image

Technologies used

Languages

Imported modules

Installed Libraries

Frameworks

Other resources

Surface

Design

Colour scheme

  • The colour-scheme is vibrant but soft to provide a pleasing display and compliment any trips images displayed on the site. The tone of the colours were chosen to compliment the bootstrap light and secondary classes as ashown above.
  • Bootstrap border and background colours were used on secondary features. Bootstrap button colours also used.

Imagery

  • Images are uploaded by the users and stored in Cloudinary database.
  • There are placeholder images for trips image

Typography

  • All text is readable. It is a display 'Lucida sans serif' with rounded terminals. It is designed for display purposes but kept legible enough to use in small sizes as well. It pairs well with the softer colours and rounded corners of the design.
  • Sans serif has been used as the fallback option since it is the closest web-safe font.

Icons

Deployment

  • This site was developed using Gitpod, stored on Github and deployed with Heroku.

  • Testing on Gitpod:

    1. In the terminal, type "python3 manage.py runserver" and press enter to begin the application
    2. Click "Open in Browser" on the pop-up
    3. Once finished, use Ctrl + C in the terminal to close the application
  • Deploying on Heroku:

    1. From the homescreen, click "New" and select "Create new app"
    2. Choose app name, select region and click "Create"
    3. Go to "Settings" and add PORT : 8000 to the Config Vars (CLOUDINARY_URL : {cloudinary url}, DATABASE_URL: {postgres url}, SECRET_KEY: {django secure key} also added but excluded from Github for security reasons)
    4. Add heroku/python buildpack
    5. Go to "Deploy" and connect Github repository
    6. Select "Enable Automatic Deploys" and click "Deploy Branch"

Credits

Content

Media

Acknowledgements

  • Code Institute for providing excellent learning content
  • W3Schools for quick and easy tutorials on programming languages
  • The users of Stack Overflow
  • Other CI students for sharing their work and providing inspiration and guidance through the Slack channels

traveller-website-pp4's People

Contributors

emanuelmariusnicu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.