React Social App





¡Buen dia amigos!



En busca de inspiración, me encontré con este gran tutorial sobre el desarrollo de una aplicación cliente-servidor "social" en MERN + GraphQL.



Decidí descifrarlo y modificarlo un poco para los interesados. El descifrado significa que cada línea de código se proporciona con un comentario detallado. El refinamiento consiste en agregar un avatar de usuario y corregir varios errores críticos de la aplicación.



El código del proyecto está aquí .



Principales características de la aplicación



  • Registro / autorización de usuarios
  • Agregar / quitar publicaciones
  • Publicaciones con Me gusta / No me gusta
  • Agregar / quitar comentarios a las publicaciones
  • Visualización de la cantidad de me gusta y comentarios




Pila de tecnología



Servidor:



  • Servidor Apollo
  • GraphQL + Etiqueta GraphQL
  • Mangosta
  • Token web JSON
  • Bcrypt
  • Supervisor
  • Concurrentemente


Cliente:



  • Reaccionar
  • ReactDOM
  • Reaccionar enrutador DOM
  • Cliente Apollo
  • GraphQL + Etiqueta GraphQL
  • Decodificación JWT
  • React Loader Spinner
  • Reacción de interfaz de usuario semántica




Estructura del proyecto



- client - 
  - public
    - index.html -  
  - src
    - modules
      - components
        - CommentButton.js -   
        - DeleteButton.js -      
        - LikeButton.js -   
        - MenuBar.js -  
        - PostCard.js -  ,    
        - PostForm.js -     
        - index.js -  
      - context
        - auth.js -     
        - ...
      - pages
        - Home.js - / 
        - Login.js -  
        - Register.js -  
        - SinglePost.js -   
        - index.js -  
      - utils
        - Loader.js -  
        - MyPopup.js -  
        - authRoute.js -    
        - convertImg.js -      base64-
        - formatDate.js -    
        - useForm.js -      
        - index.js -  
      - graphql.js -    graphql
    - ApolloProvider - ,     
    - App.css -   semantic
    - App.js -   
    - index.js -   ,    Webpack
  - jsconfig.json -  
  - ...
- graphql
  - resolvers - ,          graphql
    - comments.js -   
    - posts.js -     
    - users.js -   
    - index.js -    
  - typeDefs.js -   () ,   
- models
  - Post.js -  
  - User.js -  
- utils
  - check-auth.js -    
  - validators.js -     
- index.js -   
- ...

      
      







Las instrucciones de instalación y ejecución se encuentran en el repositorio del proyecto.



Capturas de pantalla de la aplicación



Por razones obvias, no puedo mostrar la demostración de la aplicación, por lo que me limitaré a hacer capturas de pantalla. Autorización de



registro Página principal Página de publicación Eliminar publicación o comentario Base de datos Como siempre, estaré encantado de recibir cualquier tipo de comentario. Gracias por su atención y que tenga un buen día.






















































All Articles