πͺ README.md en espaΓ±ol: README_ES.md
Search-Web50 is an implementation of the front-end for Google Search, Google Image Search, and Google Advanced Search. This project corresponds to Project 0 of Harvard University's course CS50's Web Programming with Python and JavaScript.
The goal of this project is to create a web interface that simulates Google's search functionality, allowing users to perform basic searches, image searches, and advanced searches using Googleβs GET parameters.
index.htmlβ Googleβs main search pageimagenes.htmlβ Googleβs image search pageadvanced-search.htmlβ Googleβs advanced search page
- Basic Search: Centered search field with rounded corners
- Image Search: Image-specific queries using the
tbm=ischparameter - Advanced Search: Multiple search fields with specific filtering options
- "I'm Feeling Lucky": Button that redirects directly to the first search result
- "all these words" β Search for pages containing all these words
- "this exact word or phrase" β Search for this exact word or phrase
- "any of these words" β Search for any of these words
- "none of these words" β Exclude these words from search
- "numbers ranging from" β Numeric range
- "language" β Filter by language
- "region" β Filter by region
- "last update" β Filter by last update date
- "site or domain" β Search within a specific site
- "terms appearing" β Define where terms should appear
- "file type" β File type filter
- "usage rights" β Usage rights filter
- Responsive Interface: Layout adapts to different screen sizes
- Intuitive Navigation: Navigation links in the upper-right corner
- Google-like Aesthetics: CSS mimics the look and feel of Google
- Dropdown Menu: Functional configuration dropdown
- Semantic Tags: HTML5 structure with proper semantic markup
- SEO Optimized: Complete meta tags for better indexing
- Custom Favicon: Google-like icon for visual identity
- Open Graph Cards: Engaging previews for social networks (Instagram, Facebook)
- Twitter Cards: Optimized sharing for Twitter
- Complete Meta Tags: Charset, viewport, description, keywords, author
- Descriptive Titles: Specific and informative titles per page
Search-Web50/
βββ index.html # Main search page
βββ imagenes.html # Image search page
βββ advanced-search.html # Advanced search page
βββ css/
β βββ style.css # Projectβs CSS styles
βββ js/
β βββ script.js # JavaScript functionality
βββ images/
β βββ search.png # Screenshot of main search page
β βββ images.png # Screenshot of image search page
β βββ advance.png # Screenshot of advanced search page
β βββ google_icon.ico # Project favicon
βββ README.md # This file
- HTML5: Semantic structure using modern tags
- CSS3: Responsive styles and modern design
- JavaScript: Interactive functionality and form handling
- Font Awesome: Interface icons
- Google Fonts: Roboto and Source Code Pro typography
- Charset UTF-8: Universal character encoding
- Viewport: Mobile device optimization
- Description: Page-specific meta descriptions
- Keywords: SEO-relevant keywords
- Author: Project author information
- Robots: Indexing and crawling directives
- og:type: Content type (website)
- og:title: Social media optimized titles
- og:description: Appealing sharing descriptions
- og:image: Screenshots used as previews
- og:url: Page-specific URLs
- og:site_name: Project name
- twitter:card: Summary card with large image
- twitter:title: Twitter-optimized titles
- twitter:description: Twitter-specific descriptions
- twitter:image: Twitter preview images
The project uses the following GET parameters to interact with Google:
q: Main search querytbm=isch: Image search modebtnI: "I'm Feeling Lucky" buttonas_q: "all these words"as_epq: "this exact word or phrase"as_oq: "any of these words"as_eq: "none of these words"as_nlo/as_nhi: Numeric rangelr: Language filtercr: Region filteras_qdr: Last updateas_sitesearch: Site or domainas_occt: Terms locationas_filetype: File typeas_rights: Usage rights
Primary search interface with centered input field
Dedicated Google image search interface
Full advanced search interface with multiple filtering options
- Clone or download the project
- Open
index.htmlin your web browser - Run searches using any of the three available pages
- Navigate between pages using the upper-right corner links
This project meets all the requirements defined by CS50 Web Programming:
- β Minimum of three pages (index.html, imagenes.html, advanced-search.html)
- β Navigation links in the top-right corner
- β Centered search field with rounded corners
- β "Google Search" button centered below the search field
- β Functional image search feature
- β Four main advanced search input fields
- β Advanced search fields left-aligned and vertically stacked
- β "Advanced Search" button styled in blue with white text
- β Functional "I'm Feeling Lucky" button
- β CSS mimicking Googleβs visual style
- β Full meta tags for improved indexing
- β Custom favicon for branding
- β Descriptive and specific page titles
- β Optimized descriptions for search engines
- β Open Graph cards for Instagram and Facebook
- β Twitter Cards for Twitter sharing
- β Appealing preview images
- β Page-specific URLs
- β Viewport optimized for mobile devices
- β UTF-8 encoding for special characters
- β Robots control for indexing
- β Clear authorship information
- Course: CS50's Web Programming with Python and JavaScript
- University: Harvard University
- Instructors: Brian Yu and David J. Malan
- Original Project: CS50 Search Project
This project is part of the CS50 Web Programming course and is intended for educational purposes only.
Developed as part of Project 0 for CS50 Web Programming with Python and JavaScript