Remix Js

screenshot of Remix Js
react
remix

Remix stack for 'backend-for-frontend' architecture.

Overview

This repository serves as a guide to building Backend for Frontend (BFF) web applications using Remix. It aims to help create high-performance and maintainable apps by covering various topics such as project setup, routing, data fetching, authentication, and deployment. The app provides a demo user for testing authentication and utilizes Remix and built-in browser APIs to build modern web apps without relying heavily on deprecated dependencies.

Features

  • Home page with app/routes/_index.jsx
  • Set session with app/routes/session-set.jsx
  • Delete session with app/routes/session-delete.jsx
  • Set cookie with app/routes/cookie-set.jsx
  • Delete cookie with app/routes/cookie-delete.jsx
  • Remote API status [HTTP GET] with app/routes/status/index.jsx
  • Login [HTTP POST] with app/routes/login/index.jsx
  • Logout [HTTP POST] with app/routes/logout/index.jsx
  • Test JWT [HTTP GET] with app/routes/protected/index.jsx
  • Password handling through a secure process of sha2 (client-side), sha3 (Remix server-side), and argon2id (database)

Summary

This repository provides a comprehensive guide to building Backend for Frontend (BFF) web applications using Remix. It covers various topics such as project setup, routing, data fetching, authentication, and deployment. The app utilizes Remix and built-in browser APIs to create modern web apps without relying heavily on deprecated dependencies. It also provides examples for different routes and authentication scenarios. The repository offers installation instructions for both development and production modes, including options for hosting and Docker deployment.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

remix
Remix

Remix is a modern JavaScript framework that focuses on building fast and performant web applications. It emphasizes a combination of server-rendered content and client-side interactivity, offering a robust architecture for creating scalable and maintainable projects.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.