Code Monkey home page Code Monkey logo

pet_finder's Introduction

Pet Finder

Все любят котиков!

Если ты можешь помочь, ты должен помочь!

Pet project with Flutter + Firebase + Hasura.

alt text

How to Start

$ flutter packages pub run build_runner build --delete-conflicting-outputs
$ cd data && docker-compose up -d

For VSCode Apollo GraphQL (deprecated)

$ npm install -g apollo graphql

create ./apollo.config.js

module.exports = {
  client: {
    includes: ['./lib/**/*.dart'],
    service: {
      name: '<project name>',
      url: '<graphql endpoint>',
      // optional headers
      headers: {
        'x-hasura-admin-secret': '<secret>',
        'x-hasura-role': 'user',
      },
      // optional disable SSL validation check
      skipSSLValidation: true,
      // alternative way
      // localSchemaFile: './schema.graphql',
    },
  },
}

how to download schema.json for localSchemaFile

$ apollo schema:download --endpoint <graphql endpoint> --header 'X-Hasura-Admin-Secret: <secret>' --header 'X-Hasura-Role: user'

For VSCode Apollo Rover

$ npm install -g @apollo/rover
$ rover graph introspect http://localhost:8080/v1/graphql > schema.graphql

Оптимизация времени сборки Firebase iOS SDK

https://github.com/invertase/firestore-ios-sdk-frameworks

How to save DB-Schema

$ cd data
$ rm -rf migrations
$ hasura migrate create "init" --from-server --database-name default
$ rm -rf metadata
$ hasura metadata export

How to restore DB-Schema

$ cd data
$ hasura migrate apply
$ hasura metadata apply

or

$ cd data
$ cat backup.sql | docker exec -i pet-finder-postgres-1 psql -U postgres
$ hasura metadata apply

How to backup data

$ curl --location --request POST 'http://localhost:8080/v1alpha1/pg_dump' --header 'x-hasura-admin-secret: myadminsecretkey' --header 'Content-Type: application/json' --data-raw '{ "opts": ["-O", "-x", "--schema", "public", "--schema", "auth"], "clean_output": true}' -o backup.sql

or data only:

$ curl --location --request POST 'http://localhost:8080/v1alpha1/pg_dump' --header 'x-hasura-admin-secret: myadminsecretkey' --header 'Content-Type: application/json' --data-raw '{ "opts": ["-O", "-x", "--data-only", "--schema", "public", "--schema", "auth"], "clean_output": true}' -o backup.sql

👨‍🎨 Inspiration

Hope you guys enjoy it !
👋👋👋

Contacts

Support Me

More Info

Это выпускная работа моих курсов по Flutter. Набрал группу учеников, мы занимались 3 месяца (всю осень 2020). Преследовал цель прокачать пробелы - учитель учится у своих учеников. Теперь умею готовить идиоматичный код, написал заметку: https://habr.com/ru/post/528106/

Как промежуточный этап для основного проекта, смотрите https://github.com/comerc

😺 We love cats!

YouTube-каналы про бездомных котиков

Фонды

Приложения

Как платформа для волонтёрской инициативы по пропитанию?

Наткнулся на Авито:

Отходы от рыбы пиламиды, много мясо остаётся головы хвосты и тд.. Каждую неделю можно забирать минимум по 10 мешков, в один мешок отходы от 10-12 рыб. Рыба свежая всегда, привоз каждую неделю бывает и два раза в неделю, отдаём замороженную, в дороге не по течёт, это огромный плюс, может кому нужно для животных, другие берут для одобрения, да и другие делают котлеты.. и тд.. без разницы. Адрес: Калининград, Александра Невского 44, Магазин Пингвин 39, вывиска большая хорошо видно, есть парковка, если буду свободным помогу загрузить без проблем. !!( Многие звонят и пишут думают что отдаём рыбу как на первой фотки, но мы отдаём отходы от рыбы !)) отходы на второй фотки...))) в несколько плёночных мешков. Спасибо)) Я создал группу в ватсапе оставьте ваш номер и я вас добавлю и там о бо всём договоримся.

Draft v2

Mind Map

  • В рамках программы "весеннее обострение - котики за 50 дней"
  • Фокус: спасение питомцев от бездомной жизни (и ничего более)
  • Только котики и собачки (тяжело набрать критическую массу по другим питомцам)
  • Преемственность к v1 - вёрстка и state management
  • Переиспользование minsk8 - картография, animation, flutter_candies
  • Применение наработок flutter_idiomatic - соглашения и тесты (Unit, Widget, Integration)
  • Концепция "from zero to hero" - от нового branch-а к релизу на FlutterFlow & Hasura
  • Релизы: iOS, Android, FlutterWeb, SEO-web, telegram-bot, админка (отдельно), комьюнити (discourse.org)
  • Вовлечённость: не животные, а питомцы (с именами); не пользователи, а соучастники
  • Функционал:
    • onboarding - краткое представление платформы
    • лента питомцев с сортировкой (новые / популярные)
    • блог питомца
    • избранное
    • фасетный поиск (с отрицанием)
    • категории (таксономия)
    • гео-поиск
    • нотификация по сохранённым критериям поиска (рыбалка)
    • роли: волонтёр, хозяин, модератор, администратор
    • аутентификация и профиль для соучастников
    • top волонтёров (с защитой от читерства - только пристроенные питомцы)
    • лента новых постов в блогах питомцев - 15 минут славы Энди Уорхола
    • личная переписка между волонтёром и хозяином с формализацией диалога
    • настройки приложения
    • потеряшки - второй список, легко добавить функционал в MVP
  • OpenSource
  • API (расширяемость)
  • Защита от форка (приложений и данных)
  • Промо: Habr, Dev.to, Hasura-Blog, FlutterFlow-Blog, ProductHunt, Kickstarter, YouTube-каналы
  • Посевной сарафан через гиков ("все любят котиков")
  • Стимулировать родителей завести питомца через вовлечение на платформу детей
  • Сбор и анализ данных для A/B и CI
  • Цифры:
    • на улице котики живут в среднем 1-2 года, а в домашних условиях - кратно больше
    • хозяева котиков живут заметно дольше и ярче
    • воспитание детей через общение с питомцами
    • во время пандемии увеличился спрос питомцев, но что будет с ними, когда хозяевам потребуется вернуться на работу?
  • Название платформы:
    • нарицательное
    • не привязано к локальному рынку (типа "Кот Матроскин")
    • варианты: Меховички, Кошкин Дом, Зверопоиск, ...
  • Хотелки:
    • Разблюдовка ресурсов (деньги и время) на содержание питомца
    • Календарь "техобслуживания" с нотификацией (прививки-вакцинация и т.п.)
    • "Бортовой журнал": взвешивание, стрижка когтей, чистка зубов, баня
    • Инструкции по любительскому воспитанию питомцев, как рубрика для блогов (UGC)
    • Бейджики, ачивки, звания, статусы и т.п. знаки отличия и поощрения
    • QR-Code куда-то присунуть
    • Телемедицина (например консультация с психологом)
    • Конкурсы креатива с наградами от спонсоров
    • IoT tracking - для выгула (координаты, подсчёт расстояния / шагомер)
    • Потерялся друг
    • Передержка / выгул / дневная няня / отель (частники, like Airbnb)
    • Кинологические центры (если не коммерция)
    • Видеохостинг нахаляву?
    • Коллажи на фотки
    • Рубрика "нашли хозяина"
    • Дизайн "видно, что сделал один чувак"; к Мерседесу страшно подойти, а Жигули - родное
    • Страничка для приюта, вместо волонтёра
    • CUDA-сервер из своей квартиры
    • Кластеры для карты
  • Аттрибуты объявления:
    • порода / mixed
    • можно с детьми
    • цвет
    • когтеточка
    • возраст
    • пол
    • длина шерсти
    • стерилизован
    • приучен к лотку
    • гео-локация
    • документы
    • прививки
    • здоровый / больной / инвалид
    • рост
    • вес
    • размер (крупный / средний / мелкий)
  • Справочник пород:
    • Vocality
    • Playfulness
    • Heat Sensitivity
    • Energy Level
    • Training
    • Friendliness to Dog
  • У одного питомца может быть много хозяев
  • Синонимы для "питомцы": меховички, любимцы
  • Похожие проекты (не про деньги):
    • Animal and pet care diary - 500,000 - Дневник Питомца
    • Adopte-moi - 100,000 - объявления
    • Adopt Pet or Post for Adoption by Pavel Poley - 100,000 - объявления
    • Pets Adoption: Adopt Dog, Cat and Other Pets by Selfappdeveloper - 50,000 - объявления
    • YummyPets - 50,000 - инста для животных
    • AnimalID - 50,000 - дневник заботы о животных
    • PetFinder.my - 50,000 - объявления
    • UPet - 50,000 - блоги
    • zoo-click.com - 50,000 - "соцмедиа и удобный сервис услуг"
  • Меню - делать?
  • TensorFlow - для улучшения выдачи поиска питомца / блоги
  • Какая-то базовая механика / технология (GOOGL - PageRank, FB - Graph, etc.)
  • Исключить механику "царя горы”
  • Варианты слогана:
    • Если у вас есть питомец, вы возращаетесь не в дом, а домой.
    • Приводя питомца домой, вы приобретёте самую преданную любовь на свете.
    • Мы не одержимы питомцами, мы просто их очень любим.
    • Друга выбирают не по породе.
  • Как оформлять, когда отдают несколько котят?
  • Бесплатно - ключевой момент, можно отдавать и породистых
  • Барахолка - как хобби в Греции
  • Визард для добавления нового объявления:
    • фото
    • карта
    • обязательные аттрибуты
    • необязательные аттрибуты
  • Привлечение контрибьютеров по примеру cultofmartians.com
  • getpicnic.app

I need a home

alt text

How to reset build

$ flutter clean
$ flutter pub get
$ cd ios
$ rm -rf Pods
$ rm Podfile.lock
$ pod install --verbose

...then restart vscode

GraphQL Highlight Problem

pet_finder's People

Contributors

comerc avatar gerfagerfa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.