├── public
├── favicon.ico
├── 404.html
├── index.html
├── chock.svg
├── laptop.svg
├── photo.svg
├── cherry.svg
├── orange.svg
├── cheese.svg
├── pie.svg
├── teddy.svg
├── balloon.svg
├── ice.svg
├── home.svg
├── present.svg
└── bird.svg
├── src
├── assets
│ ├── logo.png
│ ├── img
│ │ ├── heart.png
│ │ ├── instagram.png
│ │ ├── GitHub-Mark-64px.png
│ │ ├── delete.svg
│ │ ├── close.svg
│ │ ├── arrow.svg
│ │ ├── twitter.svg
│ │ ├── photo.svg
│ │ ├── gitlab.svg
│ │ ├── pencil.svg
│ │ ├── orange.svg
│ │ ├── key.svg
│ │ └── circle_blue.svg
│ └── styles
│ │ ├── plugins.css
│ │ ├── styles.css
│ │ ├── buttons.css
│ │ └── reset.css
├── layouts
│ ├── EmptyLayout.vue
│ └── MainLayout.vue
├── store
│ ├── index.js
│ ├── auth.js
│ ├── notes.js
│ └── user.js
├── components
│ ├── Toast.vue
│ ├── Loader.vue
│ ├── Modal.vue
│ ├── Main
│ │ ├── Footer.vue
│ │ ├── Sidebar.vue
│ │ └── Header.vue
│ └── ProfileData.vue
├── filters
│ └── date.filter.js
├── App.vue
├── router
│ └── index.js
├── main.js
└── views
│ ├── Info.vue
│ ├── Profile.vue
│ ├── Stats.vue
│ ├── Add.vue
│ ├── Login.vue
│ └── History.vue
├── babel.config.js
├── vue.config.js
├── .gitignore
├── license
├── package.json
└── README.md
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrey-kudinov/sweethome/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrey-kudinov/sweethome/HEAD/src/assets/logo.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/assets/img/heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrey-kudinov/sweethome/HEAD/src/assets/img/heart.png
--------------------------------------------------------------------------------
/src/assets/img/instagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrey-kudinov/sweethome/HEAD/src/assets/img/instagram.png
--------------------------------------------------------------------------------
/src/assets/img/GitHub-Mark-64px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andrey-kudinov/sweethome/HEAD/src/assets/img/GitHub-Mark-64px.png
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 |
3 | module.exports = {
4 | publicPath: process.env.NODE_ENV === 'production'
5 | ? '/sweethome/'
6 | : '/',
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/styles/plugins.css:
--------------------------------------------------------------------------------
1 | .fade-enter-active, .fade-leave-active {
2 | transition: opacity .5s;
3 | }
4 | .fade-enter, .fade-leave-to /* .fade-leave-active до версии 2.1.8 */ {
5 | opacity: 0;
6 | }
--------------------------------------------------------------------------------
/src/assets/styles/styles.css:
--------------------------------------------------------------------------------
1 | @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro);
2 | @import './buttons.css';
3 | @import './plugins.css';
4 | @import './reset.css';
5 |
6 | .card {
7 | box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.1);
8 | }
9 |
10 | input, textarea {
11 | box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.1);
12 | }
--------------------------------------------------------------------------------
/src/layouts/EmptyLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 | Цель проекта (помимо улучшения навыков и удовольствия от его создания) - 6 | решить определенные проблемы в паре. Так как мы с девушкой работаем (а 7 | значит и отдыхаем) по разным графикам, домашние дела мы делаем отдельно 8 | друг от друга. А то редкое время, что нам удается побыть вместе, мы не 9 | тратим на готовку и уборку, а уделяем друг другу. И чтобы не возникало 10 | фраз "Ты отдыхал/отдыхала два дня подряд, ничего не сделал/сделала по 11 | дому, мог/могла хотя бы отмыть ванну!?" (утрировано), мы решили что было 12 | бы неплохо где-нибудь записывать то, что мы делаем по дому, чтобы каждый 13 | из нас видел как много всего мы делаем и не было обесценивания. Мы успешно 14 | вели записи домашних дел в нашем закрытом телеграм канале, пока я не решил 15 | сделать этот сайт для меня и моей девушки :) 16 |
17 |19 | Несмотря на то, что в проекте есть регистрация, он сделан в первую очередь 20 | для меня и моей девушки. Но, очевидно, он подойдет для любой пары, где 21 | есть схожая проблема и желание её решить :) 22 |
23 |25 | Вкладка "Добавить": добавить новые карточки с выполненными делами по дому. 26 | Например: вытер пыль, помыл унитаз, очистил плиту. Один день - одна 27 | карточка со списком дел. 28 |
29 |30 | Вкладка "История": все ваши карточки с домашними делами. Здесь их можно 31 | редактировать или полностью удалять. 32 |
33 |34 | Вкладка "Профиль": здесь вы можете заменить ваш ник и аватарку. Данные 35 | сохраняются на сервере. 36 |
37 |39 | Проект сделан на Vue 2.6.11 (в т.ч. vuex, vue-router). Обрезка фотографий сделана с помощью 40 | vue-croppie. На бэке firebase. 41 | Репозиторий проекта на github. 47 |
48 |