diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4e8a7b5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +node_modules/ +package-lock.json +pnpm-lock.yaml +dist/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ad204c8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:alpine AS builder + +WORKDIR /app +COPY ./package.json ./ +RUN npm install +COPY ./ ./ +RUN NODE_ENV=production npm run build + +FROM node:alpine +RUN npm install serve -g --silent +WORKDIR /app +COPY --from=builder /app/dist . +EXPOSE 80 +CMD ["serve", "-p", "80", "-s", "."] \ No newline at end of file diff --git a/README.md b/README.md index 8a12f42..cf85583 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,44 @@ -# \ +# Simple TODO application

- <Logo description> + TooDo logo

## Overview -\ +TooDo is a simple application for tasks management. It was built for my own usage because I didn't like the look or functionality of other todo apps. ## Deploy -\ +Server side of application is not ready yet, so, you can deploy it as a single docker image ```bash - +docker pull dm1sh/toodo:latest +docker run -p :80 dm1sh/toodo:latest ``` + +To run it on baremetal: + +```bash +git clone https://github.com/dm1sh/toodo +cd toodo +npm i +npm run build +npm run start +``` + +And finally, for development actions are quite similar to baremetal deploy: + +```bash +git clone https://github.com/dm1sh/toodo +cd toodo +npm i +npm run dev +``` + +## TODO + +- Add task saving on Enter key press, remapping new line to Shift+Enter +- Convert to monorepo and add backend for tasks syncing +- Add ServiceWorker +- Switch to IndexedDB diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..844373d --- /dev/null +++ b/logo.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + +