Giter VIP home page Giter VIP logo

ms3_travelbook's Introduction

Globe traveler

The project is inspired on the idea to make a website where everyone who is interested in traveling can have the opportunity to share his/her experience.This project is the third part of the milestone project. The system database is made in MongoDB. For the making of the functions it has been programing in Pyhton. The main focus was on the "crud" functions,  making the project available to create,read,update and delete data by the users who must register to be able to use the system. The porject has been deploy in Heroku. The technologies used for the making of this project are in this readme file later on. The main goal of this project is to be able to share with other your traveling experiences, where you have been, what you did and if you would recommend the place you've been to anybody else who shares the same interest as you.

UX

The purpose of this site is to :

  • Make available for people to share their travel stories.

  • Exchange experiences about the places they have been to.

  • Advice each other about places they should or not travel to.

User stories

First time visitors goals 

  1. As a FirstTime Visitor, i want to be able to easy navegate through the site.

  2. As a FirstTime Visitor, it must be easy for me to understand what the site is about.

  3. As a FirstTime Visitor, i must be able to see different pages of the site .

  4. As a FirstTime Visitor, i must read and understand the texts.

  5. As a FirstTime Visitor, The site must be responsive in several devices

  6. As a FirstTime Visitor, the pictures must have a good resolution.

  7. As a FirstTime Visitor, i want to be able to manage information in an easy way

Returning time visitors goals

  1. As a Returning Visitor, i want to see improvments in the website.

  2. As a Returning Visitor, i want to see updates available.

  3. As a Returning Visitor, i want to see new features.

Frequent time visitors goals

  1. As a Frequent User, it's important to see the development of the site, that makes it more interesting to come back to.

  2. As a Frequent User, i want to be able to comunicate with other members.

  3. As a Frequent User, i want to be able to manage my information as easy and fast as possible.

Design

Color Scheme

  • The main color of the website is grey and white for the pages.

  • Red and blue are for input, edit and delete buttons.

  • Cyan is the color for the login and reg user buttons.

  • White with dark text shadow is for the navbar titles and footer texts.

  • The rest of the text are in light-blue and black color.     

Typography

Dancing Script, cursive is a lively casual script where the letters bounce and change size slightly. Caps are big, and goes below the baseline. Dancing Script references popular scripts typefaces from the 50's. It relates to Murray Hill (Emil Klumpp. 1956) in his weight distribution,  and to Mistral (Roger Excoffon. 1953) in his lively bouncing effect. This type of typography suits at it best in friendly, spontaneous and informal look.

Raleway is an elegant sans-serif typeface family. It is a display face and the download features both old style and lining numerals, standard and discretionary ligatures, a pretty complete set of diacritics, as well as a stylistic alternate inspired by more geometric sans-serif typefaces than it's neo-grotesque inspired default character set.

Sans serif it is usually used for titles that seek to make an impact, for headlines that must be read from a distance or for reading bodies that are relatively short.     

Imagery

Imagery is used most for the carousel of the website. The images are the face of this site and reflect at an early stage the purpose of this site. The images are inspired in different cities around the world, each one representing a continent. For now the images are only availbale in the carousel, but in a near future the purpose is to be able to store pictures in tyhe database that every register user might be able to load up.

Wireframes

Features 

  • Responsive on all devices.

  • Interactive elements.

  • Responsive navbar.

  • Footer with link to pages related with what the system is about.

  • Carousel, making the site more attractive to users ad easy to understand what it is about.

  • Register page where users can register to make use of the website.

  • Login page where only register users can have access to.

Technologies Used

Languages Used
Library Used

Database Used 

Frameworks, Libraries & Programs Used

For the making of this project, the following technologies has been used.
  • Gitpod 

    Gitpod is used as the enviroment program were the page was made.

  • Github 

    Github is used as the development platform, you can upload your code and make repositories. This platform, gives other users the opportunity to see your repositories if made as open source code.

  • HTML5

    HTML is the language use to make websites. Since it is the standard markup languages for webpages.

  • CSS

    CSS is the language used to style the pages made in HTML. 

  • W3C Valitor HTML

    W3C validator is the tool we use to check the markup validity in HTML.

  • WC Valitor CSS

    As mentioned above, this tool is use to check for errors in the css code.

  • Materialize

    Materialize is a modern responsive CSS framework based on Material Design by Google.

  • Jquery      jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. It is free, open-source software using the permissive MIT License. 

  • Python

    Python is an interpreted, high-level and general-purpose programming language. It's design philosophy emphasizes code readability with its notable use of significant whitespace. 

  • MongoDB

    MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. 

  • Heroku

    Heroku is a cloud platform as a service (PaaS) supporting several programming languages. Heroku has been in development since June 2007, when it supported only the Ruby programming language,  but now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go. Heroku is said to be a polyglot platform as it has features for a developer to build, run and scale applications in a similar manner across most languages.

  • Googlefonts

    The fonts used in this project are taken from Googlefonts.

  • Youtube

    I use this site to get inspiration from other projects and to search informtaion regarding source code. 

  • Fontawesome

    Font Awesome is a font and icon toolkit based on CSS and Less.

  • Reposinator

    Reposinator is use to check how your website look in different devices in responsive mode.

  • Devtool

    Use to search for error in the making of the webpage.

  • Pep8

    PEP 8 is a comprehensive styling guide for your Python code. PEP 8’s aim is to bring all Python together under one styling guide. 

  • Flask

    Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions.      

Testing

    The language this project such as HTML, CSS, Pyhton were tested for errors and warnings in the code.

    1. W3C Validator HTML.

    2. W3C validator CSS.

    3. Pep8

Testing User Stories from User Experience (UX) Section 

  • As a first time Visitor, i want to be able to easy navegate through the website.

      a. Since the site is very simple build it makes it easy for the user to navigate.
    
  • As a FirstTime Visitor, it must be easy for me to understand what the site is about.

      a. The site is easy to understand what it is about due to the homepage that reflect with the carousel what it's about.
    
  • As a FirstTime Visitor, i must be able to see different pages of the site.

      a. The website is build with a navmenu that makes it possible for the user to navigate through the website.
      b. There is also a search box where the user can search by contries that different travelers have been to.
    
  • As a FirstTime Visitor, i must read and understand the texts.

      a. The text in this website are for the most labels and messages written in an easy way in english so that everyone can understand.
    
  • As a FirstTime Visitor, The site must be responsive in several devices.

      a. The website has been tested in several devices like Iphone, Ipad, Android and Laptop.
    
  • As a FirstTime Visitor, the pictures must have a good resolution.

      a. The pictures have been carefully selected and have a good resolution shown in the website.
    
  • As a FirstTime Visitor, i want to be able to manage information in an easy way

      a. The site contain oth a register and login section. 
      b. Once logged in, the user have access to other features in the navbar making it possible to manage information.
    
  • As a returning time visitor, i expect to see improvments, updates and new features.

      a. There will be updates like change of color, pictures and layouts.
      b. Also new features like be able to make your own gallery with pictures
      c. And the search feature will be able not only for countries but also for users and city names
    
  • As a Returning Visitor, i want to see updates available.

      a. Updates will be done regulary to improve the system and also to make the use of it more interesting for all the members 
         and at the same time make it more attractive for new visitors to join our page .
    
  • As a Returning Visitor, i want to see new features.

      a. We are planning in the development of the site like a personal profile page.
      b. Also the possibbility to upload images
      c. The making of a gallery photo album for each user to be able to set up their own pictures 
    
  • As a Frequent User, it's important to see the development of the site, that makes it more interesting to come back to.

      a. We are planning the possibbility to send messages between members.
      b. Photo Galleries from different places available not only for members but for visitors as well
      c. The possibility to log in as a member or as visitor if you just want to see the site and not become a member.
    
  • As a Frequent User, i want to be able to comunicate with other members.

      a. The most ambitious project is to make a chat channel so members can communicate direct with each others.
      b. There site is also expected to be able in different languages making it possible for more people to interact.
    
  • As a Frequent User, i want to be able to manage my information as easy and fast as possible.

      a. Just as a first time visitor, Frequent users have also the possibbility to manage their information i an easy way.
      b. To make this possible, updates will be done like extending the profile page. The sections for adding, update and delete will also be updated.
      c. The frequent user will also as a member have access in the coming development of the website to the chat channel, not only to speak with other 
         members but also with support in case of any questions.
    
  • During my test period i focus on the user stories.     

The website has been checked in different browser, such as.

1. Chrome

2. Firefox

3. Safari

4. Microsoft edge

1. Ipad

2. Iphone

3. Android

4. Laptop

Friends and family tested the site by loggin in and writing about there stories. This was also made to point out any bugs and/or user experience issues.

Known Bugs

  • The footer changes places in the ipad when there are no registers in the profile page.
  • In the galaxy S5 the footer text in some parts appears one on top another. Also the buttons in the profile page appears not at the same space.
  • Sometimes the date that you have chosen, do not show, but the actaul date. To fix this, push the clear button on the calendary and try again.

Deployment 

To deploy this porject, i used the hosting platform of Github and heroku The step to deploy this project were as follows.

Heroku

The Project was deployed to Heroku using the following steps...

1. Log in to your Heroku account 2. Choose the project you want to deploy 3. Go to the settings tab and at the domains section, you find the link to deploy your project  4. Copy your app link and paste it in your browser or push the link to direct come toyour project

Forking the GitHub Repository 

By forking the GitHub Repository we make a copy of the original repository on our GitHub account to view and/or make changes without affecting the original repository by using the following steps...

Log in to GitHub and locate the GitHub Repository

At the top of the Repository (not top of page) just above the "Settings" Button on the menu, locate the "Fork" Button.

You should now have a copy of the original repository in your GitHub account.

Local Deployment

1. On GitHub, navigate to the main page of the repository.

2. Above the list of files, click "Code".

3. Mark the HTTPS tag ad press the copy icon at the end of the link.

4. Open Git Bash

5. Change the current working directory to the location where you want the cloned directory to be made. Type  "git clone", and then paste the URL you copied.

$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

6. Press enter and you should see the following code on the screen

![example image of git clone](images/git-clone.png)

7. Open the index.html in the folder that you clone the poject.

Credits

Code

  • Materialize  Library used throughout the project in the making of the website and to make it responsive.

The code was validated in the following pages for error correction:

Content

The content (this means the coding) for this project was taken from the mini project tutorial from Code Institute, also part of the code is my own code and ideas and guidence from my mentor Antonio Rodriguez.

Media

All Images were taken from the following site:

Acknowledgements

My Mentor Antonio Rodriguez for continuous helpful feedback.

Tutor support at Code Institute for their support and help.

Tim Nelson for the easy to understand tutorial from Code Institute that i use for guidence in this project.

ms3_travelbook's People

Contributors

pretro avatar

Watchers

James Cloos 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.