Single page application based on React JS & Redux.
Displays randomly quotes from a pre-prepared storage. Each quote can be assigned the following data: author (one or several), tag (one or several), source.
Airtable database is currently used as storage, special server is planned in the future.
It is planned in the future to allow users to add their own quotes (public or for private use), create personal quotes collections, share quotes etc. More detailed development roadmap of the project can be found in our Wiki.
You can test working version of our site here https://legmo.github.io/hotquotes.
You will need Node.js to work with this project.
Start application
Download the project and run the following console commands in the local project folder:
npm i
— download & install Node.js modules.npm start
— runs the app in development mode. Hot reload in browser (port:3000) included. Use «src» folder for making your edits.npm run build
— builds the app for production to the build folder «public».
Create Database
You will also need a backend-server with a database. Now I use the free zero-code service Airtable to work with the database. You can choose the solution you like.
Enter API key
Enter your API key to access the database into apiKey
variable. If you use Airtable, then you need to register on the site Airtable and go to the Account page. The API key will be located in the config/const.ts
file.
Full size picture on the miro.com
If you have a desire to join the development — we will be happy to accept you into our team!
Details can be found in the Contributing section.
You can also ask the necessary questions in the Discussions section or send a private message to the developers.
Одностраничное веб-приложение на основе React JS & Redux.
Отображает случайную цитату из заранее подготовленного хранилища. Каждая цитата может сопровождаться следующими данными: один или несколько авторов, один или несколько тэгов, источник.
В качестве хранилища цитат используется база данных Airtable. В будущем планируется использование полноценного бэкенд-сервера.
Также планируются: разрешение пользователям на добавление собственных цитат (публичных или только для личного просмотра), создание персональных подборок цитат, возможность делиться цитатами и многое другое. Более подробный план развития проекта можно найти в Wiki.
Вы можете протестировать рабочую версию сайта здесь https://legmo.github.io/hotquotes.
Вам потребуется Node.js для работы с этим проектом.
Запуск
Скачайте репозиторий и выполните следующие консольные команды в папке локального проекта:
npm i
— скачать и установить модули Node.js.npm start
— запустить приложение в режиме разработки. Поддерживается «горячая перезагрузка» в браузере (port:3000). Используйте папку «src» для ваших правок.npm run build
— собрать приложение в продакшен-режиме. См. папку «public».
Создание базы данных
Также вам понадобится backend-server с базой данных вашего приложения. Я использую бесплатный zero-code сервис Airtable. Вы можете выбрать решение которое вам нравится.
Добавление ключа API
Пропишите в переменную apiKey
ваш API key для доступа к базе данных. Если вы используете Airtable, то вам надо зарегистрироваться на сайте Airtable и зайти на страницу Account. API key будет расположен в файле config/const.ts
.
Полноразмерное изображение на miro.com
Если вы хотите присоединиться к разработке — мы будем рады принять вас в команду!
Подробности можно найти в разделе Contributing.
Также вы можете задать вопросы в разделе Discussions или отправить личное сообщение разработчикам.