- Add package.json for project configuration and dependencies. - Implement NewsApplication class to manage service lifecycle and HTTP pipeline. - Create CategoryCatalog for managing news categories. - Introduce ServiceConfig for environment variable management. - Load environment variables from .env files. - Develop NewsApiCompatibilityController to mimic NewsAPI endpoints. - Create NewsController for querying and refreshing news data. - Establish AbstractJsonRepository for JSON storage operations. - Implement main entry point in index.js to bootstrap the application. - Create CategoryNewsRepository for category-specific news storage. - Add ConsoleLogger for structured logging. - Implement NewsApiClient for fetching articles from NewsAPI. - Develop NewsRefreshScheduler for scheduling news refresh tasks. - Create NewsStorageService to coordinate news data management.
14 lines
171 B
Docker
14 lines
171 B
Docker
FROM node:20-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm install --omit=dev
|
|
|
|
COPY . ./
|
|
|
|
RUN mkdir -p /app/data
|
|
|
|
EXPOSE 3100
|
|
|
|
CMD ["npm", "start"] |