Back-end JavaScript ES6 NoSQL MongoDB Redis NodeJS ExpressJS Kue
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 images
You 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)
- Node JS getting started
- Process API doc
- Express getting started
- Mocha documentation
- Nodemon documentation
- MongoDB
- Bull
- Image thumbnail
- Mime-Types
- Redis
- 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
- Personal Data.
- Basic authentication.
- Session authentication.
# Create project directory and readme.
mkdir ./alx-backend-user-data/
touch ./alx-backend-user-data/README.md
cd alx-backend-user-data
# Create repository.
git init
git add .
git commit -m 'first commit'
git remote add origin <REMOTE_URL>
git push
# Create gitignore file.
touch .gitignore
echo '*/__pycache__/
' > .gitignore
The project is about personal data and user management. The project required implementing;
- A log filter to obfuscate PII fields
- Encrypting passwords
- Checking the validity of an input password
- Authenticating to a database using environment variables.
# Create project directory and readme.
mkdir ./0x00-personal_data/
touch ./0x00-personal_data/README.md
cd 0x00-personal_data
The project involves learning about the authentication process and implementing a Basic Authentication on a simple API written in Python Flask Framework requiring knowledge in;
- REST API Authentication Mechanisms
- HTTP header Authorization
- Flask, and
- Base64 concepts.
# Create project directory and readme.
mkdir ./0x01-Basic_authentication/
touch ./0x01-Basic_authentication/README.md
cd 0x01-Basic_authentication
The project is about implementing a session authentication mechanism without installing any other module. The learning objectives of the project include;
- Understanding authentication, session authentication.
- Cookies, sending cookies, and parsing cookies.
# Create project directory and readme.
mkdir ./0x02-Session_authentication/
touch ./0x02-Session_authentication/README.md
cd 0x02-Session_authentication
This project was done by SE. Richard Miruka. Feel free to get intouch with me;
📱 WhatsApp +254700129706
📧 Email richardmiruka96@gmail.com
👍 A lot of thanks to ALX-Africa Software Engineering program for the project requirements.