{"id":25612279,"url":"https://github.com/aditya-coomar/file-server","last_synced_at":"2026-05-07T09:31:13.856Z","repository":{"id":277683123,"uuid":"857964943","full_name":"Aditya-Coomar/file-server","owner":"Aditya-Coomar","description":"Locallly hosted File Storage system","archived":false,"fork":false,"pushed_at":"2025-02-15T11:41:21.000Z","size":1782,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T12:27:05.587Z","etag":null,"topics":["fastapi","file-storage","javascript","nextjs"],"latest_commit_sha":null,"homepage":"https://file-server-gray.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aditya-Coomar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T03:39:12.000Z","updated_at":"2025-02-15T11:44:00.000Z","dependencies_parsed_at":"2025-02-15T12:37:10.196Z","dependency_job_id":null,"html_url":"https://github.com/Aditya-Coomar/file-server","commit_stats":null,"previous_names":["aditya-coomar/file-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya-Coomar%2Ffile-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya-Coomar%2Ffile-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya-Coomar%2Ffile-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aditya-Coomar%2Ffile-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aditya-Coomar","download_url":"https://codeload.github.com/Aditya-Coomar/file-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240105741,"owners_count":19748518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","file-storage","javascript","nextjs"],"created_at":"2025-02-22T00:18:51.161Z","updated_at":"2026-05-07T09:31:08.836Z","avatar_url":"https://github.com/Aditya-Coomar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# File Server - Developer Documentation\n\n## Project Structure\n\n- **backend/**: FastAPI application, runs using Uvicorn.\n- **frontend/**: Next.js application, runs using npm.\n\n## Prerequisites\n\n### Install Python\n\n#### Windows\n\n1. Download the latest Python installer from the [official website](https://www.python.org/downloads/).\n2. Run the installer and **check the box** for _\"Add Python to PATH\"_.\n3. Click **Install Now** and follow the setup instructions.\n\nVerify installation:\n\n```sh\npython --version\n```\n\n#### Linux (Debian/Ubuntu)\n\n```sh\nsudo apt update \u0026\u0026 sudo apt install -y python3\n```\n\nVerify installation:\n\n```sh\npython3 --version\n```\n\n#### macOS\n\nUsing Homebrew:\n\n```sh\nbrew install python\n```\n\nVerify installation:\n\n```sh\npython3 --version\n```\n\n### Install Node.js \u0026 npm\n\nInstall Node.js and npm from the [official website](https://nodejs.org/), or use:\n\n```sh\n# macOS/Linux\nbrew install node\n# Windows (via Chocolatey)\nchoco install nodejs\n```\n\nVerify installation:\n\n```sh\nnode -v\nnpm -v\n```\n\n### Install MongoDB \u0026 MongoDB Compass\n\n#### MongoDB Installation\n\n##### Windows\n1. Download MongoDB Community Server from [MongoDB Official Website](https://www.mongodb.com/try/download/community).\n2. Run the installer (`.msi` file) and follow the setup instructions.\n3. Choose **Complete** setup.\n4. Ensure the option **'Install MongoDB as a service'** is checked.\n5. Complete the installation and verify using:\n   \n   ```sh\n   mongod --version\n   ```\n\n##### macOS (Using Homebrew)\n1. Open Terminal and run:\n   \n   ```sh\n   brew tap mongodb/brew\n   brew install mongodb-community@6.0\n   ```\n3. Start MongoDB service:\n\n   ```sh\n   brew services start mongodb-community@6.0\n   ```\n5. Verify installation:\n\n   ```sh\n   mongod --version\n   ```\n\n##### Linux (Ubuntu/Debian)\n1. Import the MongoDB public key:\n\n   ```sh\n   wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -\n   ```\n3. Add the MongoDB repository:\n\n   ```sh\n   echo \"deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse\" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list\n   ```\n5. Update the package database:\n\n   ```sh\n   sudo apt update\n   ```\n7. Install MongoDB:\n\n   ```sh\n   sudo apt install -y mongodb-org\n   ```\n9. Start MongoDB:\n\n   ```sh\n   sudo systemctl start mongod\n   ```\n11. Enable MongoDB to start on boot:\n   \n   ```sh\n   sudo systemctl enable mongod\n   ```\n11. Verify installation:\n   \n   ```sh\n   mongod --version\n   ```\n\n#### MongoDB Compass Installation\n1. Download MongoDB Compass from [MongoDB Compass Official Website](https://www.mongodb.com/try/download/compass).\n2. Run the installer and follow the setup process.\n3. Open MongoDB Compass and connect using:\n\n   ```\n   mongodb://localhost:27017\n   ```\n\n## Installation\n\nClone the repository:\n\n```sh\ngit clone https://github.com/Aditya-Coomar/file-server.git\ncd your-repo\n```\n\n### Backend Setup (FastAPI)\n\nNavigate to the backend folder:\n\n```sh\ncd backend\n```\n\nCreate and configure a `.env` file:\n\n```sh\nFILE_SERVER_ROOT_STORE='Local_Folder_Path'\nJWT_SECRET='your_jwt_secret'\nMAIL_USER='your_email@example.com'\nMAIL_SECRET='your_mail_secret'\nMAIL_PORT=your_mail_port\nMAIL_HOST='your_mail_host'\n```\n\nConfigure the Database Connection accordingly in `main.py` file:\n\n```sh\n100  class DatabaseConnection:\n101     def __init__(self):\n102         self.client = MongoClient(\"mongodb://localhost:27017/\")\n103         self.db = self.client[\"file_server\"]\n104         self.users_collection = self.db[\"users\"]\n105         \n106         self.users_collection.create_index(\"email\", unique=True)\n107         self.users_collection.create_index(\"username\", unique=True)\n```\n\n\n\n\nInstall dependencies and start the backend:\n\n```sh\npip install -r requirements.txt\nuvicorn main:app --host 0.0.0.0 --port 8000 --reload\n```\n\n### Frontend Setup (Next.js)\n\nNavigate to the frontend folder:\n\n```sh\ncd ../frontend\n```\n\nCreate and configure a `.env.local` file:\n\n```sh\nSERVER_URL=\"http://localhost:8000\"\n```\n\nInstall dependencies and start the frontend:\n\n```sh\nnpm install\nnpm run dev\n```\n\n## Usage\n\nRun the backend and frontend, then open the frontend in a browser:\n\n```sh\nhttp://localhost:3000\n```\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditya-coomar%2Ffile-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faditya-coomar%2Ffile-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faditya-coomar%2Ffile-server/lists"}