Giter Site home page Giter Site logo

mattdev92 / mem_project_2 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 28.68 MB

It's the second diploma project which I prepared for my postgraduate studies "frontend with React". This project was prepared using modern React with Redux with available hooks. For styling I used a little of a material UI with custom styled components styling. Structure of the project is a standard React structure with divided on components.

HTML 7.01% JavaScript 92.99%
react redux hooks material-ui react-lazy react-router styled-components

mem_project_2's Introduction

MEM

It's the second diploma project which I prepared for my postgraduate studies "frontend with React". This project was prepared using modern React with Redux with available hooks. For styling I used a little of a material UI with custom styled components styling. Structure of the project is a standard React structure divided on components.

How it works

Getting Started

  1. git clone
  2. npm install
  3. npm start - run the project

After finishing this orders you can display webpage on your device

Used technologies:

  1. Modern React with hooks - as a main library
  2. Redux with hooks - as a state management
  3. Material UI for styling
  4. Styled components for custom styling
  5. React lazy - for lazy loading images with spinner from React-loader-spinner
  6. React router - for routing
  7. Prettier and eslint for static code anlizing

Implemented solutions

  1. Routes /hot, /regular and /favourite
  2. Live filtering for mems (upvote - downvote > 5 ): HOT (upvote - downvote > 5) REGULAR (upvote - downvote <= 5) FAVOURITE - fav icon signed
  3. Simple menu for switching between sections
  4. Mem database in Redux store
  5. List of Mem components in grid - with scroll funcionality
  6. NavLink funcionality - clicked route has custom class
  7. Mem added to favourite
  8. Add new mem funcionality
    simple form validation:
  • fields can't be empty
  • default image
  • min and max value for votes
  1. Global styles

Project architecture

Project is diveded on a few categories

  1. assets - styles and all images
  2. components - smaller parts of code that build all views and main page components like navigation, modal, mem etc.
  3. reducers - initial redux state
  4. views - all views that you can switch in navigation component
  5. store - redux store
  6. root files: index.js,
  7. templates - material UI template - provide material UI styling with responsive app funcionality
  8. configuration files: eslint, gitigore, package.json etc.

How did I create this project?

Project was prepared based on my own React and Redux template with custom prettier and eslint configuration

Plan for future dvelopment

Unit tests in progress...

Prettier and Eslint configuration

Project has implemented static code formaters

Authors

  • Mateusz Grzejszczyk - Initial work -

License

Free licence

mem_project_2's People

Contributors

mattdev92 avatar

Watchers

 avatar

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.