Skip to content

Nimbus Nest is a cloud storage platform, built with Django and React.js.

Notifications You must be signed in to change notification settings

aashutoshPanda/nimbus-nest

Repository files navigation

Team Members: Ashutosh Panda & Pratik Chaudhary

Vicara Preview

Make sure you have python3 and git installed on your local machine.

Features

  1. Upload & Download - files and folders with Drag & Drop
  • Also you can upload with a downloadable url
  • Folders are downloaded as zip
  1. Mark your files or Folders as favourite for quick access

  2. Trash - Upon deletion your valuables in trash, you can also permanently delete from there

  3. Share files & folders with your peers with a shareable url!

  • All the files shared with you will be present in 'Shared with Me' section
  1. Admin panel to allocate max disk space for a user
  • Initially all users are provided with 100 MB of storage
  • Storage can be upgraded to any limit - We store our files in AWS S3
  1. Google OAuth for quick and easy logins

  2. Move folders and files across the drive

  3. File preview directly in the drive for images, PDFs, etc.

  4. Tour of the platform for new users, you can also get a tour with the 'HELP' button at the top-right corner.

Getting Started

Setup project environment-

$ sudo apt-get update -y
$ sudo apt-get install python3-pip -y
$ sudo apt-get install python3-venv -y
$ sudo apt-get install libpq-dev -y

$ git clone https://github.com/aashutoshPanda/nimbus-nest.git
$ cd nimbus-nest

$ python3 -m venv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

$ python manage.py migrate
$ python manage.py migrate --run-syncdb
$ python manage.py runserver

Create super user

$ python manage.py createsuperuser

Frontend

You can cd into the client folder, and follow the readme there.

Contributing

We love contributions, so please feel free to add issues fix bugs, improve things, provide documentation and make a PR.

Backend Maintenance

Backend is hosted on - https://dashboard.render.com/d/dpg-clqnopie9h4c73ao5fp0-a

  1. Free Postgres DB expires in 90 days [today 10 DEC - next expiry 10 MARCH]
  2. Make new postgres DB on render.com
  3. Copy the external DB url and update DATABASE_URL in the backend service ENV VARS and save changes
  4. Use clear build cache and re-deploy option to get the latest changes
  5. Shell access is present only for paid services, the DB is fresh we need to apply migrations and create super-user etc..
  6. Clone the project, remove old env and create a new one
rm -rf env
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
  1. and in the .env file add the DATABASE_URL as the external URL of postgres from render.com

For super-user provide the same username and password as provided in env file / ENV VARS in render.com

python manage.py makemigrations
python manage.py migrate
python manage.py migrate --run-syncdb
python manage.py createsuperuser
  1. Now the /admin should work in the deployed backend, login and follow these for oauth setup - https://iamashutoshpanda.medium.com/google-login-with-django-react-part-2-2dc41b499861

  2. Go to deploy section and clear cache and deploy site.