Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brendon45/alx-files_manager
A summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.
https://github.com/brendon45/alx-files_manager
backend es6 express javascript kue mongodb nodejs nosql redis
Last synced: 13 days ago
JSON representation
A summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.
- Host: GitHub
- URL: https://github.com/brendon45/alx-files_manager
- Owner: Brendon45
- Created: 2024-09-02T11:33:26.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-04T21:47:49.000Z (4 months ago)
- Last Synced: 2024-10-31T12:46:48.453Z (2 months ago)
- Topics: backend, es6, express, javascript, kue, mongodb, nodejs, nosql, redis
- Language: JavaScript
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# 0x04. Files manager
This project is a summary of this back-end trimester: authentication, NodeJS, MongoDB, Redis, pagination and background processing.
The objective is to build a simple platform to upload and view files:
- User authentication via a token
- List all files
- Upload a new file
- Change permission of a file
- View a file
- Generate thumbnails for imagesYou will be guided step by step for building it, but you have some freedoms of implementation, split in more files etc… (`utils` folder will be your friend)
Of course, this kind of service already exists in the real life - it’s a learning purpose to assemble each piece and build a full product.
Enjoy!
# Resources
__Read or watch:__
- [Node JS getting started](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs)
- [Process API doc](https://node.readthedocs.io/en/latest/api/process/)
- [Express getting started](https://expressjs.com/en/starter/installing.html)
- [Mocha documentation](https://mochajs.org/)
- [Nodemon documentation](https://github.com/remy/nodemon#nodemon)
- [MongoDB](https://github.com/mongodb/node-mongodb-native)
- [Bull](https://github.com/OptimalBits/bull)
- [Image thumbnail](https://www.npmjs.com/package/image-thumbnail)
- [Mime-Types](https://www.npmjs.com/package/mime-types)
- [Redis](https://github.com/redis/node-redis)## Learning Objectives
At the end of this project, you are expected to be able to [explain to anyone](https://fs.blog/feynman-learning-technique/), without the help of Google:
- how to create an API with Express
- how to authenticate a user
- how to store data in MongoDB
- how to store temporary data in Redis
- how to setup and use a background worker## Requirements
- Allowed editors: vi, vim, emacs, Visual Studio Code
- All your files will be interpreted/compiled on Ubuntu 18.04 LTS using node (version 12.x.x)
- All your files should end with a new line
- A README.md file, at the root of the folder of the project, is mandatory
- Your code should use the js extension
- Your code will be verified against lint using ESLint