7 Commits

5 changed files with 68 additions and 25 deletions

View File

@@ -14,23 +14,65 @@ This is a simple weather application that allows users to view current weather d
## Installation ## 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: 1. Clone the repository:
```bash ```bash
git clone https://git.the1s.de/theis.gaedigk/weather-app.git git clone https://git.the1s.de/theis.gaedigk/weather-app.git
``` ```
2. Navigate to the frontend project directory:
**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 ```bash
cd weather-app/frontend cd weather-app/frontend
``` ```
3. Install dependencies: 2. Install dependencies:
```bash ```bash
npm install npm install
``` ```
4. Start the development server: 3. Start the development server:
```bash ```bash
npm run dev npm run dev
``` ```
5. Open your browser and go to `http://localhost:7002` to view the app. 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. **Note:** There is also a backend server directory, which is currently not in use. - You can ignore it for now.
## Usage ## Usage
@@ -53,4 +95,4 @@ This is a simple weather application that allows users to view current weather d
## Version ## Version
**1.0.0** **v1.0.1-local**

View File

@@ -1,21 +1,20 @@
services: services:
# frontend: frontend:
# container_name: frontend container_name: frontend
# build: ./frontend build: ./frontend
# ports:
# - "7002:7002"
# environment:
# - CHOKIDAR_USEPOLLING=true
# volumes:
# - ./frontend:/app
# - /app/node_modules
# restart: unless-stopped
backend:
container_name: backend
build: ./backend
ports: ports:
- "7001:7001" - "7002:7002"
environment:
- CHOKIDAR_USEPOLLING=true
volumes: volumes:
- ./backend:/bikelane-backend - ./frontend:/app
- /app/node_modules
restart: unless-stopped restart: unless-stopped
# backend:
# container_name: backend
# build: ./backend
# ports:
# - "7001:7001"
#volumes:
# - ./backend:/bikelane-backend
# restart: unless-stopped

View File

@@ -9,4 +9,4 @@ COPY . .
EXPOSE 7002 EXPOSE 7002
CMD ["npm", "start"] CMD ["npm", "run", "dev"]

View File

@@ -64,7 +64,7 @@ const ChangeAPI: React.FC<Props> = ({ currentAPIKey, onClose }) => {
/> />
</div> </div>
<button <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" 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} onClick={handleUpdate}
> >

View File

@@ -24,7 +24,9 @@ const WeatherData: React.FC = () => {
? "°C" ? "°C"
: localStorage.getItem("unit") === "imperial" : localStorage.getItem("unit") === "imperial"
? "°F" ? "°F"
: "K"} : localStorage.getItem("unit") === "standard"
? "K"
: "°C"}
</p> </p>
<p className="flex items-center justify-center gap-2"> <p className="flex items-center justify-center gap-2">
{weatherData?.sys?.country && ( {weatherData?.sys?.country && (