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-development -
Open 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 app -
Filter 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.