Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erickwendel/semana-javascript-expert05
JS Expert Week 5.0 classes - Google Drive Clone
https://github.com/erickwendel/semana-javascript-expert05
file frontend javascript nodejs stream upload
Last synced: about 5 hours ago
JSON representation
JS Expert Week 5.0 classes - Google Drive Clone
- Host: GitHub
- URL: https://github.com/erickwendel/semana-javascript-expert05
- Owner: ErickWendel
- Created: 2021-09-03T13:03:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-24T14:02:00.000Z (over 2 years ago)
- Last Synced: 2024-12-15T09:03:31.036Z (7 days ago)
- Topics: file, frontend, javascript, nodejs, stream, upload
- Language: JavaScript
- Homepage:
- Size: 2.53 MB
- Stars: 1,557
- Watchers: 20
- Forks: 183
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Google Drive Clone - JS Expert Week 5.0
Welcome to the fifth Javascript Expert Week. This is the starting code to start our journey.
Tag this project with a star 🌟
## Preview
![](./resources/demo.gif)
## Checklist Features
- Web API
- [] It should list downloaded files
- [] It must stream files and save them in disk
- [] It should notify about progress of storing files to disk
- [] It must allow uploading of files in image, video or audio format
- [] It must reach 100% code coverage in tests- Web App
- [] Should list downloaded files
- [] Should allow uploading of files of any size
- [] Must have upload function via button
- [] Should display upload progress
- [] Must have drag and drop upload function## Challenges for you to extend this project
1. *Backend*: Save the file to AWS or any storage service
- Our project today stores files on disk. the challenge is you via Stream, uploading to some cloud service
- As a plus, keep 100% code coverage, that is, create tests for your new feature
2. *Frontend*: Add frontend tests and achieve 100% code coverage
- You learned how to test in the backend. Use the same process to create frontend unit tests with Jest
- If you have any doubts, go to [example](https://github.com/ErickWendel/tdd-frontend-example) and leave a star!
3. *Infrastructure*: Publish application with your custom SSL in virtual machine
- You learned how to generate local SSL, the challenge is for you to create a certificate (it can be with *Let's Encrypt*) and add it to your application## Layout Credits <3
- The Layout was adapted from the project by the Brazilian [Leonardo Santo](https://github.com/leoespsanto) available on [codepen](https://codepen.io/leoespsanto/pen/KZMMKG).
## FAQ
- `NODE_OPTIONS` is not a system recognized command, what to do?
- If you are on Windows, the way to create environment variables is different. You must use the word `set` before the command.
- Ex: ` "test": "set NODE_OPTIONS=--experimental-vm-modules && npx jest --runInBand",`- SSL certificate is invalid, what to do?
- This error happens because I generated a certificate linked to the user of my machine.
- You can click on proceed in the browser and use the invalid certificate and the project will continue working, but if you want to generate your own, I wrote the step by step in [./certificates](./certificates)- I ran `npm test` but nothing happens, what to do?
- Check your Node.js version. We are using version 16.8. Go to [node.js website](https://nodejs.org) and download the latest version.