All Projects → AccordBox → wagtail-react-blog

AccordBox / wagtail-react-blog

Licence: other
SPA built with React, Tailwind CSS and Wagtail Rest API

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
shell
77523 projects
HTML
75241 projects
CSS
56736 projects
SCSS
7915 projects

Projects that are alternatives of or similar to wagtail-react-blog

tailwind-theme-switcher
Basic demo on how to switch styles with Tailwind, handy for dark mode type purposes.
Stars: ✭ 164 (+148.48%)
Mutual labels:  dark-mode, tailwindcss
next.js-tailwindcss-template
Opinionated Next.js and TailwindCSS template.
Stars: ✭ 15 (-77.27%)
Mutual labels:  dark-mode, tailwindcss
Codrops Libre
A reponsive single page app template for collection management projects
Stars: ✭ 124 (+87.88%)
Mutual labels:  single-page-app, tailwindcss
tailwindcss-variables
Easily create css variables without the need for a css file!
Stars: ✭ 47 (-28.79%)
Mutual labels:  dark-mode, tailwindcss
vuejs-tailwindcss-portfolio
A simple multipage and responsive Vue.js & Tailwind CSS portfolio theme with dark mode.
Stars: ✭ 100 (+51.52%)
Mutual labels:  dark-mode, tailwindcss
starter-simba
Lion-based Design System
Stars: ✭ 18 (-72.73%)
Mutual labels:  tailwindcss
tailwindcss-postcss-browsersync-boilerplate
Tailwind CSS + PostCSS + BrowserSync boilerplate
Stars: ✭ 28 (-57.58%)
Mutual labels:  tailwindcss
laravel-mix-tailwindcss-purgecss
Minimal Boilerplate for building static pages based on Laravel Mix 6, TailwindCSS 3, PostCSS 8, and ES6 Vanilla JS components.
Stars: ✭ 15 (-77.27%)
Mutual labels:  tailwindcss
bento
A minimalist theme for Hugo, build with Tailwind CSS - https://bento-hugo-theme.netlify.app/
Stars: ✭ 58 (-12.12%)
Mutual labels:  tailwindcss
website
My personal website and blog. Made with Nuxt.js and WindiCSS.
Stars: ✭ 19 (-71.21%)
Mutual labels:  tailwindcss
tailwindcss-theme-swapper
A helper for getting tailwind values into css custom properties and switching them between media queries and classes. You can try it out here: https://play.tailwindcss.com/a16eJQSf4a
Stars: ✭ 115 (+74.24%)
Mutual labels:  tailwindcss
wagtail-2fa
2 Factor Authentication for Wagtail
Stars: ✭ 63 (-4.55%)
Mutual labels:  wagtail
wagtail-metadata-mixin
🔍 OpenGraph, Twitter Card and Schema.org snippet tags for Wagtail CMS pages
Stars: ✭ 42 (-36.36%)
Mutual labels:  wagtail
angular-authentication
An Angular application that demonstrates best practices for user authentication & authorization flows.
Stars: ✭ 122 (+84.85%)
Mutual labels:  tailwindcss
Events-based-organizational-website
The official codebase for college-based (event managing) organizations. FOUR-LEVEL Authorization system and scalable.
Stars: ✭ 14 (-78.79%)
Mutual labels:  tailwindcss
DarkModeSplashScreen
A sample app for iOS and Android written in Xamarin.Forms showing how to implement a Splash Page for Dark Mode
Stars: ✭ 28 (-57.58%)
Mutual labels:  dark-mode
OnlySwitch
⚙️ All-in-One menu bar app, hide 💻MacBook Pro's notch, dark mode, AirPods, Shortcuts
Stars: ✭ 1,288 (+1851.52%)
Mutual labels:  dark-mode
gatsby-wiki
Creating a Knowledgbase using Gatsby.js and React.js (see final product ->
Stars: ✭ 32 (-51.52%)
Mutual labels:  single-page-app
substrate-docs
Substrate Developer Hub. Substrate is powered by best in class cryptographic research and comes with peer to peer networking, consensus mechanisms, and much more.
Stars: ✭ 63 (-4.55%)
Mutual labels:  tailwindcss
variantwind
Most elegant way to work with TailwindCSS variants in Vue
Stars: ✭ 45 (-31.82%)
Mutual labels:  tailwindcss

Introduction

This project is from book Build SPA with React and Wagtail

Demo

The demo is also online if you want to check.

Objectives

This book will teach you how to build a SPA (single-page application) using React and Wagtail CMS.

By the end of this course, you will be able to:

  1. Understand Docker and use Docker Compose to do development
  2. Create blog models to work with Wagtail.
  3. Learn how to write serializer for Django models.
  4. Build a REST API for Wagtail CMS
  5. Use the factory package to help create test data
  6. Test the REST API and generate test coverage report
  7. Build a React app from create-react-app
  8. Learn React Function Component, and React hooks.
  9. Use Tailwind CSS to build clean and responsive UI.
  10. Understand React router
  11. Make React app work with Wagtail preview
  12. Build comment system based on django-contrib-comments which support Generic Relations
  13. Use Tribute.js to add Mention and Emoji support to the comment form.
  14. Learn to use SWR to build lazy load comment list.
  15. Test React component using Jest and @testing-library family of packages.
  16. Deploy the production app to DigitalOcean

Tech

  • Python 3.8
  • Django 3.2
  • Wagtail 2.14
  • Node 14
  • Tailwind CSS
  • React 17
  • React Router
  • Jest

How to run on local

Edit /etc/hosts

Below command is for Mac, but you can ask Google for help if you use other OS.

$ sudo vi /etc/hosts

# add to the bottom
127.0.0.1 api.local.test

# clear DNS cache
$ sudo killall -HUP mDNSResponder 
$ ping www.local.test

Backend API

You can use code below to run dev application on your local env.

You need Docker and Docker Compose and you can install it here Get Docker

$ git clone https://github.com/AccordBox/wagtail-react-blog react_wagtail
$ cd react_wagtail
$ docker-compose up --build

Now open a new terminal to import data and change password.

$ docker-compose exec web python manage.py load_initial_data
# change password for admin
$ docker-compose exec web python manage.py changepassword admin

Now you can check on

React

It is recommended to use nvm to install node on your local env.

$ node -v
v14.17.4
$ cd frontend
$ npm install -g yarn
$ yarn -v
1.22.11
$ yarn install
$ yarn start

Now you can check on

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].