kvbc / react-messenger

Simple messaging app built on a Next.js frontend with an Express backend and a SQLite database, using Github authentication services

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-messenger

Simple messaging app built on a Next.js frontend with an Express backend and a SQLite database, using Github authentication services (OAuth Apps)

This project was a great introduction to the world of third-party auth providers, as well as a huge help to familiarize myself with a simple potential login/logout user flow in a React application. Learned a lot of do's and dont's when it comes to access tokens. HttpOnly cookies for the win!

Tech Stack:

  • Typescript
  • Express.js
  • Next.js (React)
  • Tailwind CSS
  • SQLite
(new TENTS stack?)

Lessons learned:

  • Should have used React Query 😅

Installing

  1. Run install.bat

or

  1. Run npm run install-link in shared/
  2. Run npm run install-link in frontend/ and backend/

Running / Development

There must exist an .env file in backend/ with the following properties:

  • CLIENT_ID - Github OAuth app client ID (see Resources)
  • CLIENT_SECRET - Github OAuth app client secret (see Resources)

  1. Run dev.bat /ob

or

  1. Run npm run dev in backend/, frontend/ and shared/
  2. Open up http://localhost:3000

Resources

About

Simple messaging app built on a Next.js frontend with an Express backend and a SQLite database, using Github authentication services


Languages

Language:TypeScript 98.4%Language:JavaScript 0.9%Language:Batchfile 0.6%Language:CSS 0.1%