This project introduces the basics of web development using HTML, CSS, and JavaScript. It includes examples and exercises to build a simple, responsive webpage with interactive features.
This project is a beginner-friendly introduction to web development. It demonstrates how to create a basic webpage with HTML for structure, CSS for styling, and JavaScript for interactivity.
Learn HTML: Understand how to structure a webpage using HTML.
Apply CSS: Style the webpage to make it visually appealing and responsive.
Add Interactivity: Use JavaScript to create interactive features like buttons and dynamic content.
Containerization: Web application.
Docker volumes: Development.
Live data fetching: APIs and styling with Bootstrap.
Insights: Container inspection and debugging.
📁
├── 📁 scripts
│ ├── main.js
│ ├── fetchData.js
├── 📁 styles
│ └── main.css
├── 📁 data
│ └── data.json
├── Dockerfile
├── docker-compose.yml
├── entrypoint.sh
├── default.conf
├── index.html
├── README.md
To start with this project, you’ll need:
A modern web browser: Examples include Google Chrome, Mozilla Firefox, or Microsoft Edge.
A text editor or IDE: We recommend using Visual Studio Code for its features and ease of use.
Basic knowledge of HTML, CSS, and JavaScript: While not mandatory, having a foundational understanding of these technologies will help you get the most out of this project.
Clone the repository:
git clone https://github.com/omaciasd/beginner-web-development.git cd beginner-web-developmentOpen the project::
Open index.html in your preferred web browser to view the webpage:
Using Docker Compose::
- The
docker-compose.ymlfile simplifies the deployment process by orchestrating the build and runtime configurations of the containerized application.
- The
Volume Usage::
Is mounted to sync local development files with the container:
- Local directory: ./app
- Container directory: /app
Benefits:
- Changes in local files are immediately reflected in the container.
Inspecting Containers::
You can inspect running containers to verify volume mounting and other configurations:
docker inspect appFilter by
Mountsin the JSON output:docker inspect app | jq '.[0].Mounts'
HTML Structure::
The index.html file contains the basic structure of the webpage:
- Headings for titles.
- Paragraphs for text.
- Buttons and other interactive elements.
scripts/: Lógica en JavaScript.
Styling with CSS::
The styles.css file applies styles to the webpage:
- Colors, margins, and fonts.
- Styling for buttons and containers.
styles/: Estilos personalizados.
Styling with CSS::
The script.js file adds interactivity:
- Fetches data from an external API using
fetch. - Dynamically updates the page content.
- Fetches data from an external API using
Live Data Fetch::
The application fetches data from a public API.
Bootstrap Integration::
The UI is styled with Bootstrap.
Proyecto Dockerizado::
Este proyecto implementa una aplicación sencilla con Nginx y PostgreSQL usando Docker Compose:
Dockerfile: Configuración de la imagen.docker-compose.yml: Orquestación de servicios.data/: Datos persistentes.
Add more styles::
Experiment with CSS to improve the design.
Include animations::
Use CSS or JavaScript to add animations.
Use external libraries::
Try integrating Bootstrap or Tailwind CSS for advanced styling.
Learn by Doing::
Hands-on experience in building a webpage.
Understand the Basics::
Master foundational concepts of web development:
- Demonstrate how they work together to build the web page.
Create Interactive Pages::
Build user-friendly and dynamic web applications:
Introduce concepts like CSS classes.
Briefly mention the DOM and event handling with JavaScript.
The architecture of this project is based on centralized:
HTML::
Provides the structure of the webpage.
CSS::
Used for styling and responsiveness.
JavaScript::
Adds interactivity, such as dynamic content updates and event handling.
Containerization::
Docker for application packaging and deployment:
- Contenedor 1: Servidor Nginx.
- Contenedor 2: Base de datos PostgreSQL.
- Cliente: Navegador que consume la API.
Volumes::
Enable seamless development.
Bootstrap.
PostgreSQL.
For more details, refer to the Architecture Guide.
If you would like to contribute to the project:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request.
Please review our Contributing Guide for setup instructions and how to submit your contributions.
This project is licensed under the MIT License. See the LICENSE file for details.