A simple file management API built with Express, MongoDB, Redis, Bull, and Node.js.
- Node.js
- Yarn (the package manager/resource negotiator)
- A Google API should be created with at least an email sending scope and a valid URL (e.g.;
http://localhost:5000/) should be one of the redirect URIs. Thecredentials.jsonfile should be stored in the root directory of this project.
The required environment variables should be stored in a file named .env and each line should have the format Name=Value. The table below lists the environment variables that will be used by this server:
| Name | Required | Description |
|---|---|---|
| GOOGLE_MAIL_SENDER | Yes | The email address of the account responsible for sending emails to users. |
| PORT | No (Default: 5000) |
The port the server should listen at. |
| DB_HOST | No (Default: localhost) |
The database host. |
| DB_PORT | No (Default: 27017) |
The database port. |
| DB_DATABASE | No (Default: files_manager) |
The database name. |
| FOLDER_PATH | No (Default: /tmp/files_manager (Linux, Mac OS X) & %TEMP%/files_manager (Windows)) |
The local folder where files are saved. |
- Clone this repository and switch to the cloned repository's directory.
- Install the packages using
yarn installornpm install.
Start the Redis and MongoDB services on your system and run yarn start-server or npm run start-server.
- Create a separate
.envfile for the tests named.env.testand store the value of the environment variables for the testing event in it. - Run
yarn testornpm run testto execute the E2E tests.
- Prince Solomon princexz
All work contained in this project was completed as part of the curriculum for ALX Africa SE. ALX Africa is an online full-stack software engineering program that prepares students for careers in the tech industry using project-based peer learning. For more information, visit this link.
