This project is a replica of YouTube App, built using Reactjs, Redux for the state and Redux Thunk for updating the state asynchronously. The client communicates through HTTP requests to an Express RESTful API server that is responsible for serving all the content that is displayed on the screen and the auth.
On this platform, the user can register, view videos that other users have uploaded, upload videos, leave comments and search for content.
This project was built using the SCRUM methodologic with weekly spring, where at the beginning of the week the features to be worked on were socialized and the work was divided to later carry out daily reviews and notify the progress.
The graphic interface was built using a figma design as a base where most of the main components were found and SASS was used for all styles of each component.
Finally, auxiliary libraries were used for the modals, forms and the visualization of the videos.
react | (^18.1.0) | |
react-dom | (^18.1.0) | |
react-router-dom | (^6.3.0) | |
react-redux | For the state of app(^8.0.1) | |
redux-thunk | middleware for asynchronous state (^2.4.1) | |
react-player | For visualize videos (^2.10.1) | |
axios | For HTTP request (^0.27.2) | |
mantine | we use @mantine/core[Forms, inputs, modals, drawer,...etc], @mantine/dropzone[For upload images and videos] and @mantine/hooks | |
sass | For the CSS styles (^1.51.0) | |
sweetalert2 | For some notifications (^11.4.19) | |
tabler-icons-react | (^1.48.1) | |
react-toastify | For lite notifications (^9.0.5) | |
dayjs | For relative times (^1.11.3) |
eslint | With the rules of Air BnB and prettier(^8.15.0) | |
prettier | (^2.6.2) | |
🐶 | husky | ^8.0.1 |
cypress | (^10.3.0) |
- Clone this respository.
- Run the script
npm install
- Copy the file .env.example to .env.local with
cp .env.example .env.local
- Write the Backend URI and Epayco key
- Run script
npm run dev
for excecute locally
Marco Jefferson Vasquez Andres Felipe Zuñiga Anderson Uribe
Made with contrib.rocks.