Giter VIP home page Giter VIP logo

onclickservice-ocs-frontend's Introduction

WebApp boilerplate with React JS

Open in Gitpod

Requirements:

  • Make sure you are using node version 10
  1. Install the packages:
$ npm install
  1. Create a .env file:
$ cp .env.example .env
  1. Start coding! and the webpack dev server with live reload, for windows, mac, linux or Gitpod:
$ npm run start

Styles

You can update the styles/index.css or create new .css files inside styles/ and import them into your current scss or js files depending on your needs.

Components

Add more files into your ./src/js/components or styles folder as you need them and import them into your current files as needed.

Note (New changes): Components have been converted into functions to support the use of hooks:

  • Instead of a class component, we're using a const function.
  • Class constructor and state have been replaced by useState() hooks.
  • componentDidMount() was replaced by useEffect({}, []) - It runs at mount thanks to the second parameter ([]).
  • Actions and Store still work the same way.
// Previous "Class Oriented"
export class Demo extends React.Component {
	constructor(props) {
		super(props);

		this.state = getState('code here');
	}
}

// New "Functional Oriented"
export const Demo = () => (
	const [state, setState] = getState('code here'); //using the state (if needed)
  const { store, actions } = useContext(Context); // using the context (if needed)

);

πŸ’‘Note: There is an example using the Context API inside views/demo.js;

Views (Components)

Add more files into your ./src/js/views and import them in ./src/js/layout.jsx.

Context

This boilerplate comes with a centralized general Context API. The file ./src/js/store/flux.js has a base structure for the store, we encourage you to change it and adapt it to your needs.

React Context docs BreathCode Lesson view

The Provider is already set. You can consume from any component using the useContext hook to get the store and actions from the Context. Check /views/demo.js to see a demo.

import { Context } from "../store/appContext";
const MyComponentSuper = () => {
  //here you use useContext to get store and actions
  const { store, actions } = useContext(Context);
  return <div>{/* you can use your actions or store inside the html */}</div>
}

Publish your website!

  1. Vercel: The FREE recomended hosting provider is vercel.com, you can deploy in 1 minutes by typing the following 2 commands:

Login (you need to have an account):

$ npm i vercel -g && vercel login

Deploy:

$ vercel --prod

✎ Note: If you don't have an account just go to vercel.com, create a account and come back here.

Vercel example procedure to deploy

  1. Github Pages: This boilerplate is 100% compatible with the free github pages hosting. To publish your website you need to push your code to your github repository and run the following command after:
$ npm run deploy

Note: You will need to configure github pages for the branch gh-pages

onclickservice-ocs-frontend's People

Contributors

alesanchezr avatar rafmanrique avatar dependabot[bot] avatar cristhiancotte avatar rodriguezandresed avatar jferragut avatar plucodev avatar abreuy avatar hernanjkd avatar ljavierrodriguez avatar colbywtaylor avatar emily-v avatar timrodz avatar

Watchers

 avatar

onclickservice-ocs-frontend's Issues

Front 03 - Como usuario, puedo tener/editar mi perfil, datos y poder enlistarme como proveedor

  • Maquetar la pagina donde se mostrara el perfil del usuario
  • Determinar los componentes react a utilizar la pagina de perfil.
  • Codificar la estructura de la pagina de perfil.
  • Finiquitar el diseno de la pagina de perfil.
  • Se debe de poder modificar los datos deseados y que los mismos sean modificados a traves de la API en la base de datos.
  • Se debe de poder enlistarse como proveedor, lo cual cambiaria el estatus de usuario a nivel de base de datos.

Front 02 - Como Usuario, puedo registrarme y logearme/des-logearme en la pagina para poder utilizar los servicios ofrecidos

  • Maquetar el formulario para que el usuario pueda registrarse con sus datos principales (Nombre, Correo, Password, Numero de Telefono, Direccion, Tipo de Usuario).
  • Maquetar el formulario para que el usuario pueda Logearse con su Email y Password.
  • Determinar los componentes react a utilizar la pagina de registro y logeo.
  • Codificar la estructura de la pagina de registro y logeo.
  • Finiquitar el diseno de ambas paginas.
  • Al hacer el registro o logeo se debe conectar con la API
  • Estos datos deben de ser registrados en la base de datos, asi como tambien tomar la fecha de registro y verificar si el usuario esta logeado o no.

Front 04 - Como Usuario, puedo ver y filtrar la busqueda de servicios por categoria/sub categoria.

  • Definir las categorias/sub-categorias a ofrecer en la pagina.
  • Maquetar el muestreo de categorias en landing page.
  • Maquetar menus desplegables en el navbar para muestreo de categorias/subcategorias.
  • Codificar el muestreo de categorias en landing page
  • Finiquitar Diseno de categorias en landing page
  • Codificar el menus desplegables de categorias/sub-categorias en navbar.
  • Finiquitar Diseno de menus desplegables de categorias/sub-categorias en navbar.
  • Maquetar una segunda vista donde se muestren las sub-categorias en la pagina.
  • Codificar estructura de segunda vista (sub-categorias)
  • Finiquitar diseno de segunda vista (sub-categorias)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.