/Drive_BOX

Primary LanguageJavaScriptMIT LicenseMIT

Drive_BOX

This project was a fundamental backend project that allowed me to apply and enhance my skills in Django, specifically focusing on CRUD operations, email verification, and password handling using tokens. It was a great learning experience that provided valuable insights into model design and the workings of the Django administrator.

Overview-

Drive-BOX is a collaborative platform where users can log in, upload their projects, and collaborate with others. The project is hosted on a web hosting website named "railway," making it accessible to users worldwide. Its functionality is similar to that of GitHub, providing a user-friendly interface for uploading and managing projects.

Technical Details

The project consists of two main applications: "blog" and "user." In the "user" application, I implemented templates for login, logout, profile, and registration pages. Utilising Django's inbuilt crispy forms library, I ensured a responsive and visually appealing design for these pages.

For the "blog" application, I incorporated static files for basic CSS, JS, and Bootstrap to enhance the website's visual appearance. The template section includes pages like "home," "about," and a "base" page, which serves as the inherited page for the entire application. By implementing the base page, I achieved consistency throughout the project, making it more user-friendly.

Assignment Problem Statement:

Part 1:

  1. Create a web-app where a user can login.
  2. User can upload files.
  3. User can view his/her uploaded files.

Part 2:

  1. User can search and view profile of other users.
  2. They can share their uploaded files with any of those users.
  3. Users can see the shared files by other users also in uploaded files.

Additional Features:

  1. In users profile user can set his/her profile picture.
  2. Users can download other users uploaded files.
  3. The user can upload any type of files such as images, videos, text files and also different types of programs like python code, java code, etc.

Technologies Used:

  • Python
  • Django
  • Bootstrap
  • JavaScript

Additional Python Modules Required:

  • Django
  • django-crispy-forms
  • Pillow

Note :

The Secret_Key required for the execution and debugging of project is not removed from the project code. So you can use the project as your college mini-project or by using the project code you can build your own project.

How to contribute?

If you're not comfortable with the command line, here are tutorials using GUI tools.. If you don't have git on your machine, install it.

fork this repository

1. Fork this repository.

2. Clone your forked copy of the project.


git clone https://github.com/<your_name>/drive_box.git

3. Navigate to the project directory 📁 .


cd drive_box

4. Add a reference(remote) to the original repository.


git remote add upstream https://github.com/pratt0007/Drive_BOX

5. Check the remotes for this repository.


git remote -v

6. Always take a pull from the upstream repository to your master branch to keep it at par with the main project(updated repository).

git pull upstream main

7. Create a new branch.

git checkout -b <your_branch_name>

8. Perform your desired changes to the code base on that branch.

9. Track your changes ✔️ .


git add .

10. Commit your changes.


git commit -m "Relevant message"

11. Push the committed changes in your feature branch to your remote repo.


git push -u origin <your_branch_name>

12. To create a pull request, click on `compare and pull requests. Please ensure you compare your feature branch to the desired branch of the repository you are supposed to make a PR to.

13. Add an appropriate title and description to your pull request explaining your changes and efforts.

14. Click on Create Pull Request.

15 Voila! You have made a PR to Bug Buster's Community Website. Sit back patiently and relax while your PR is reviewed.


Usage :

python manage.py makemigrations

python manage.py migrate

python manage.py runserver

In your web browser enter the address : http://localhost:8000 or http://127.0.0.1:8000/