Skip to content
View ThxJSer's full-sized avatar
Block or Report

Block or report ThxJSer

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ThxJSer/README.md

ThxJSer

Parcel Build Status Latest Stable Version Language React version License

What is ThxJSer

ThxJSer is a Single Page Application (SPA) frameworks

- a toolkit - for people who build web sites using javaScript and React.

What is SPA

Different from traditional server side rendering(SSR), SPA is a client side render(CSR) pattern.

SPA is separation of front-end and backend, making division clear.

Hence, you can deploy the frontend(views) without worrying about backend's language.

SPA load data dynamically from backend by using Ajax request(API call), this capability makes it no need to wait entire page's extra reloading.

So, SPA provide the faster performance and easily content render with APIs' JSON data.

Live Demo

Demo : https://thxjser.github.io/


sign in email : demo8888@gmail.com
sign in password : 88888888

ThxJSer benefits

ThxJSer is a CSR(Client Side Render) pattern :

  • Faster speed & performance, shorter rendering times
  • Efficient caching, doesn’t have to reload entire page
  • Simple, without worrying about the backend, and ThxJSer is light-weight
  • Easy, easy to develop components and debug
  • Support page's history change event handle!!!

ThxJSer lets you creatively focus on your front-end project!

ThxJSer requires zero configuration!!

ThxJSer is dedicated to all the front-end and js engineers, thanks y'all!

Installation

  1. Run Requirements
  • Install nodejs version 9.11 or newer is recommended.
  • Install npm version 5.6 or newer is recommended.
  1. Copy the 3 items [ index.html, src folder, package.json ] to your project folder and command run
$ cd <your project folder>

$ npm install

wait installed...ok

$ npm start

wait built...ok

That's it!

  1. Now, you can access http://localhost:8888. If you want to change others listen port, config is in the package.json.

Usage

1. Skill Requirements

  • Basic HTML DOM, CSS, JavaScripts(ES5, ES6).
  • Concept of js' callback function, Async/Sync/Promise knowledge.
  • Components, life cycle, hook of React, and Redux pattern.

2. Development Guide

If you want to know more develop's guideline,

CRUD instances are mostly in the src/pages/TodoList.jsx, plz refer to this file.


Files Description Examples
src/Main.jsx Page loader, and handle the pages' rendering
src/pages/*.jsx Pages with different responsibilities SignIn, SignUp, TodoList...
src/components/*.jsx Small components for common use in most pages AlertDialog, Copyright, MyDatePicker...
src/service/*js Handle api calls TodoListApi, UserApi
dist/service/* Bulid result index.html, src.xxxxxxxxx.js

3. The below guideline is provided for your reference.

Resources, User Guide & Reference

Theme Description Link
Free Resource Page templates - you can download open-source code from mui 1. https://mui.com/material-ui/getting-started/templates/
2. (free at the bottom) https://mui.com/store/?utm_source=docs&utm_medium=referral&utm_campaign=templates-store
Free Resource Component templates - you can download open-source code from mui https://mui.com/material-ui/
JS JS ES6 tutorial https://www.w3schools.com/js/js_es6.asp
JS Demystifying JavaScript Closures, Callbacks and IIFEs https://www.sitepoint.com/demystifying-javascript-closures-callbacks-iifes/
JS Aysnc/sync, promise tutorial https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
Hooks React hooks tutorial https://reactjs.org/docs/hooks-state.html
Hooks Redux hooks tutorial https://redux.js.org/tutorials/essentials/part-1-overview-concepts#redux-terms-and-concepts
Input Form React-hook-form document https://react-hook-form.com/api/useform/register
Input Form Yup form validation lib document https://github.com/jquense/yup
Input Form Yup validation live demo https://codesandbox.io/s/react-hook-form-validation-yup-mrv28?file=/src/index.js
Input Form Yup validation tutorial https://dev.to/franciscomendes10866/react-form-validation-with-react-hook-form-and-yup-4a98
Datetime Handle Day.js date-time lib document https://github.com/iamkun/dayjs
Api Calls Axios (http request/ajax) lib document https://github.com/axios/axios#axios-api
Built Tool Parceljs document https://parceljs.org/getting-started/webapp/
SPA Intro What are Single Page Applications https://geekflare.com/single-page-applications/

Acknowledgement

ThxJSer powered by Axios, Day.js, Material UI, Parcel, React, React Hook Form, Redux and Yup. Thank you all very much.

Particular thanks Github, Google, Node.js, NPM, Parcel, React, Stack Overflow.

License

This code has been developed and maintained by ThxJSer from October 2022.

If you discover vulnerability security issues, please send e-mail to thxjser@gmail.com , thank you.

ThxJSer framework is open-source, licensed under the MIT license.

Pinned

  1. ThxJSer ThxJSer Public

    ThxJSer is a Single Page Application (SPA) frameworks - base on React.

    JavaScript 9 3