Welcome to the Virtual Hard Disk project! This project is a backend API developed as part of the Hack a Boss full-stack bootcamp.
It allows users to easily register and log in, upload and download files, and create and delete folders.
In February, we will be building a frontend using React to complete the project.
The Virtual Hard Disk is a powerful tool that provides a secure and convenient way to manage your virtual storage needs.
Whether you're a student, a professional, or just someone looking for an easy way to organize your files and folders, the Virtual Hard Disk has you covered.
We can't wait to see what you can do with it!
- Backend development: Building the server-side of a web application
- RESTful APIs: A set of conventions for creating APIs that are scalable and maintainable
- User authentication and authorization: Techniques for ensuring that only authorized users can access certain parts of an application
- File storage management: Techniques for storing and organizing files and folders in a virtual environment
- Database design and querying: Designing and interacting with a MySQL database
- Web security: Best practices for keeping an application and its users safe.
- Data validation: Ensuring that the data being stored in the database is accurate following our data schema.
- Asynchronous programming: Writing code that can perform tasks concurrently non-blocking the main thread.
- Testing: Using tools like Postman and SwaggerUI to test the functionality of your API and ensure it is working correctly.
-
First you will need a .env file (You can use the .env example provided).
-
Create a MySQL database by executing:
CREATE DATABASE MYSQL_BBDD
- Install the dependencies by executing:
npm install
- Now you must run the following command to start the database and create the required tables:
npm run initDB
- Finally you can start the server:
- Development:
npm run dev
- Regular start:
npm start
- Development:
- We have included the Postman file for testing purpouses.
- We also included a full OpenAPI specification. You can try here by copying the yml code or directly in Visual Studio Code by using the official OpenAPI extension.
If you have any feedback or suggestion, please reach out to us at [email protected]