Skip to content

Commit 12f2af5

Browse files
authored
Merge pull request #29
dev -> master
2 parents a5673f4 + 0091bb7 commit 12f2af5

File tree

116 files changed

+5005
-2622
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+5005
-2622
lines changed

Caddyfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{$DOMAIN:feedz.buzz} {
2+
@api path /api/*
3+
handle @api {
4+
uri strip_prefix /api
5+
reverse_proxy http://rss-nest:3600
6+
}
7+
8+
handle {
9+
root * /app
10+
try_files {path} /index.html
11+
file_server
12+
}
13+
14+
log {
15+
level info
16+
format console
17+
}
18+
}

Dockerfile

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,14 @@
1-
FROM node:22-slim
1+
FROM node:22-slim as build
22
WORKDIR /app
33
COPY package*.json ./
4-
RUN npm install
4+
RUN npm ci
55
COPY . .
66
RUN npm run build
77

8-
COPY nginx.conf /etc/nginx/conf.d/default.conf
9-
RUN apt-get update && \
10-
apt-get install -y nginx && \
11-
apt-get clean && \
12-
rm -rf /var/lib/apt/lists/*
13-
14-
RUN find . -mindepth 1 \
15-
! -name 'dist' \
16-
! -name 'entrypoint.sh' \
17-
! -path './dist/*' \
18-
-ignore_readdir_race \
19-
-exec rm -rf {} + || true
20-
21-
22-
RUN chmod +x ./entrypoint.sh
23-
24-
EXPOSE 8080
25-
26-
ENTRYPOINT ["/app/entrypoint.sh"]
8+
FROM caddy:2-alpine
9+
WORKDIR /app
10+
COPY --from=build /app/dist/rss-angular/browser /app
11+
COPY Caddyfile /etc/caddy
12+
EXPOSE 80
13+
EXPOSE 443/tcp
14+
EXPOSE 443/udp

README.md

Lines changed: 43 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,43 @@
1-
# RssAngular
2-
3-
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.2.
4-
5-
## Development server
6-
7-
To start a local development server, run:
8-
9-
```bash
10-
ng serve
11-
```
12-
13-
Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
14-
15-
## Code scaffolding
16-
17-
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
18-
19-
```bash
20-
ng generate component component-name
21-
```
22-
23-
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
24-
25-
```bash
26-
ng generate --help
27-
```
28-
29-
## Building
30-
31-
To build the project run:
32-
33-
```bash
34-
ng build
35-
```
36-
37-
This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
38-
39-
## Running unit tests
40-
41-
To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
42-
43-
```bash
44-
ng test
45-
```
46-
47-
## Running end-to-end tests
48-
49-
For end-to-end (e2e) testing, run:
50-
51-
```bash
52-
ng e2e
53-
```
54-
55-
Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
56-
57-
## Additional Resources
58-
59-
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
1+
# RSS reading app client
2+
3+
Client for the [RSS app](https://github.com/emp74ark/rss-nest) built with Angular 20 and Angular Material.
4+
5+
## Tech stack
6+
- Angular 20
7+
- Angular Material
8+
9+
## Prerequisites
10+
- Node.js 20+ (Node 22 used in Dockerfile)
11+
- npm 9+
12+
- Angular CLI 20 globally installed (optional):
13+
```bash
14+
npm i -g @angular/cli@20
15+
```
16+
- Backend: [Repository](https://github.com/emp74ark/rss-nest)
17+
18+
## Getting started (local development)
19+
1. Install dependencies:
20+
```bash
21+
npm install
22+
```
23+
2. Start the dev server:
24+
```bash
25+
npm start
26+
# or
27+
ng serve
28+
```
29+
3. Open http://localhost:4200
30+
31+
32+
## Deploy
33+
34+
Using docker compose: [repository](https://github.com/emp74ark/rss-deploy)
35+
36+
## Project structure (high level)
37+
- `src/app/pages` — feature pages: auth, articles, bookmarks, feeds, tags, user, status
38+
- `src/app/components` — reusable components: article list, paginator, dialogs, forms
39+
- `src/app/services` — API services (auth, feed, tag, user, page, title)
40+
- `src/environments` — environment configs (`development` and `production`)
41+
42+
## License
43+
ISC (see package.json)

angular.json

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,32 @@
55
"projects": {
66
"rss-angular": {
77
"projectType": "application",
8-
"schematics": {},
8+
"schematics": {
9+
"@schematics/angular:component": {
10+
"skipTests": true
11+
},
12+
"@schematics/angular:class": {
13+
"skipTests": true
14+
},
15+
"@schematics/angular:directive": {
16+
"skipTests": true
17+
},
18+
"@schematics/angular:guard": {
19+
"skipTests": true
20+
},
21+
"@schematics/angular:interceptor": {
22+
"skipTests": true
23+
},
24+
"@schematics/angular:pipe": {
25+
"skipTests": true
26+
},
27+
"@schematics/angular:resolver": {
28+
"skipTests": true
29+
},
30+
"@schematics/angular:service": {
31+
"skipTests": true
32+
}
33+
},
934
"root": "",
1035
"sourceRoot": "src",
1136
"prefix": "app",
@@ -14,7 +39,9 @@
1439
"builder": "@angular/build:application",
1540
"options": {
1641
"browser": "src/main.ts",
17-
"polyfills": ["zone.js"],
42+
"polyfills": [
43+
"zone.js"
44+
],
1845
"tsConfig": "tsconfig.app.json",
1946
"assets": [
2047
{
@@ -23,7 +50,6 @@
2350
}
2451
],
2552
"styles": [
26-
"@angular/material/prebuilt-themes/cyan-orange.css",
2753
"src/styles.css"
2854
]
2955
},
@@ -32,7 +58,7 @@
3258
"budgets": [
3359
{
3460
"type": "initial",
35-
"maximumWarning": "500kB",
61+
"maximumWarning": "1000kB",
3662
"maximumError": "1MB"
3763
},
3864
{
@@ -75,7 +101,10 @@
75101
"test": {
76102
"builder": "@angular/build:karma",
77103
"options": {
78-
"polyfills": ["zone.js", "zone.js/testing"],
104+
"polyfills": [
105+
"zone.js",
106+
"zone.js/testing"
107+
],
79108
"tsConfig": "tsconfig.spec.json",
80109
"assets": [
81110
{

entrypoint.sh

Lines changed: 0 additions & 3 deletions
This file was deleted.

nginx.conf

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)