Merge branch 'main' into debian12
updated host version to 1.0.1
This commit is contained in:
92
README.md
92
README.md
@@ -1,9 +1,95 @@
|
||||
# Weather App
|
||||
|
||||
This version is only meant for publishing on the web. It is not meant for local development or use.
|
||||
This is a simple weather application that allows users to view current weather data for a specified location. The app is built using React and TypeScript, and it fetches weather data from an external API.
|
||||
|
||||
You can find the web version of the Weather App at [https://weather.the1s.de](https://weather.the1s.de).
|
||||
> For that we use the OpenWeatherMap API. You can get your own API key by signing up at [OpenWeatherMap](https://openweathermap.org/api).
|
||||
|
||||
## Features
|
||||
|
||||
- Search for weather by city name
|
||||
- Display current weather conditions including temperature, humidity, and wind speed
|
||||
- Responsive design for mobile and desktop views
|
||||
- Change API key preferences
|
||||
- Display weather data in a user-friendly format
|
||||
|
||||
## Installation
|
||||
### Prerequisites
|
||||
|
||||
To install and run this application, you need the following tools:
|
||||
|
||||
- Git (for cloning the repository)
|
||||
|
||||
**and**
|
||||
|
||||
- Node.js (v14 or higher)
|
||||
- npm (Node Package Manager)
|
||||
|
||||
**or**
|
||||
|
||||
- Docker (for running the app in a container)
|
||||
|
||||
### 1st step - Get the source code
|
||||
**You can either clone the repository or download the latest release. Keep in mind that the cloned version may contain bugs.**
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://git.the1s.de/theis.gaedigk/weather-app.git
|
||||
```
|
||||
|
||||
**or**
|
||||
|
||||
1. Download the latest release from the [releases page](https://git.the1s.de/theis.gaedigk/weather-app/releases/latest).
|
||||
2. Unzip the downloaded file to your desired location.
|
||||
|
||||
#### 2nd step - Using Node.js and npm
|
||||
|
||||
1. Navigate to the frontend project directory:
|
||||
```bash
|
||||
cd weather-app/frontend
|
||||
```
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
3. Start the development server:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
4. Open your browser and go to `http://localhost:7002` to view the app.
|
||||
**Note:** There is also a backend server directory, which is currently not in use. - You can ignore it for now.
|
||||
|
||||
**or**
|
||||
|
||||
#### 2nd step - Using Docker
|
||||
|
||||
1. Navigate to the root path project directory:
|
||||
```bash
|
||||
cd weather-app
|
||||
```
|
||||
2. Run in a Docker container:
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
```
|
||||
3. Open your browser and go to `http://localhost:7002` to view the app.
|
||||
**Note:** There is also a backend server directory, which is currently not in use. - You can ignore it for now.
|
||||
|
||||
## Usage
|
||||
|
||||
1. Get an API key from [OpenWeatherMap](https://openweathermap.org/api).
|
||||
2. Click on the "Set API Key" button in the header to enter your API key.
|
||||
3. Enter a city name in the search bar and press Enter or click the "Get Weather" button.
|
||||
|
||||
**Now you can view the current weather data for the specified city!**
|
||||
|
||||
# Other Information
|
||||
|
||||
## Technologies Used
|
||||
|
||||
- React
|
||||
- TypeScript
|
||||
- Tailwind CSS
|
||||
- OpenWeatherMap API
|
||||
- Vite
|
||||
|
||||
## Version
|
||||
|
||||
Currently hosted version: **1.0.0**
|
||||
**On this branch (main) you will find the latest version of the weather app, which includes several improvements and bug fixes. But it is not yet fully functional. The app is still in development, and some features may not work as expected.**
|
||||
|
@@ -1,29 +1,20 @@
|
||||
services:
|
||||
# frontend:
|
||||
# container_name: frontend
|
||||
# build: ./frontend
|
||||
# network:
|
||||
# - proxynet
|
||||
# ports:
|
||||
# - "7002:7002"
|
||||
# environment:
|
||||
# - CHOKIDAR_USEPOLLING=true
|
||||
# volumes:
|
||||
# - ./frontend:/app
|
||||
# - /app/node_modules
|
||||
# restart: unless-stopped
|
||||
|
||||
backend:
|
||||
container_name: backend
|
||||
build: ./backend
|
||||
network:
|
||||
- proxynet
|
||||
frontend:
|
||||
container_name: frontend
|
||||
build: ./frontend
|
||||
ports:
|
||||
- "7001:7001"
|
||||
- "7002:7002"
|
||||
environment:
|
||||
- CHOKIDAR_USEPOLLING=true
|
||||
volumes:
|
||||
- ./backend:/bikelane-backend
|
||||
- ./frontend:/app
|
||||
- /app/node_modules
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
proxynet:
|
||||
external: true
|
||||
# backend:
|
||||
# container_name: backend
|
||||
# build: ./backend
|
||||
# ports:
|
||||
# - "7001:7001"
|
||||
#volumes:
|
||||
# - ./backend:/bikelane-backend
|
||||
# restart: unless-stopped
|
||||
|
@@ -9,4 +9,4 @@ COPY . .
|
||||
|
||||
EXPOSE 7002
|
||||
|
||||
CMD ["npm", "start"]
|
||||
CMD ["npm", "run", "dev"]
|
@@ -64,7 +64,7 @@ const ChangeAPI: React.FC<Props> = ({ currentAPIKey, onClose }) => {
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
type="submit"
|
||||
className="bg-gradient-to-r from-blue-600 to-blue-400 text-white font-bold px-6 py-3 rounded-xl shadow-lg hover:from-blue-700 hover:to-blue-500 transition-all"
|
||||
onClick={handleUpdate}
|
||||
>
|
||||
|
@@ -24,7 +24,9 @@ const WeatherData: React.FC = () => {
|
||||
? "°C"
|
||||
: localStorage.getItem("unit") === "imperial"
|
||||
? "°F"
|
||||
: "K"}
|
||||
: localStorage.getItem("unit") === "standard"
|
||||
? "K"
|
||||
: "°C"}
|
||||
</p>
|
||||
<p className="flex items-center justify-center gap-2">
|
||||
{weatherData?.sys?.country && (
|
||||
|
Reference in New Issue
Block a user