FileSphere is a web application designed to manage and share documents seamlessly. Built with ReactJS for the frontend, Firebase for the backend and hosting, and Firestore as the database, it provides distinct functionalities for normal users and admin users.
- Account Management: Create a new account and manage your profile.
- Document Viewing: Access all documents uploaded by users.
- Document Downloading: Download documents in
.doc
format. - Document Uploading: Upload your own documents.
- Search and Filter: Easily find documents using the search and filter features.
- Profile Page: View account details and manage all uploaded documents.
- Admin Dashboard: Access an exclusive dashboard for advanced management features.
- User Management: View all users, toggle admin status, and delete users.
- Document Management: View all documents, including details about who uploaded them and when, and delete documents.
- Category Management: Perform CRUD operations on document categories.
- Authentication: Firebase authentication was not used for this project.
- Media File Uploads: Due to the requirement of a paid Firestore version for media uploads, users can only add a document's
Title
,Description
, and select aCategory
for uploading.
- Node.js and npm installed on your machine.
- Firebase account with appropriate configurations.
git clone https://github.com/BilalSubhani/FileSphere-React
cd FileSphere-React
- Create a
.env
file in the root directory. - Add the following Firebase configuration details to your
.env
file:REACT_APP_FIREBASE_API_KEY=your_firebase_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain REACT_APP_FIREBASE_PROJECT_ID=your_firebase_project_id REACT_APP_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id REACT_APP_FIREBASE_APP_ID=your_firebase_app_id
npm install
npm start
The application will be available at http://localhost:3000
.
FileSphere is hosted on Firebase Hosting. For deployment instructions:
- Install Firebase CLI:
npm install -g firebase-tools
- Login to Firebase:
firebase login
- Deploy the application:
firebase deploy
For questions, suggestions, or support, please reach out:
- Email: [email protected]
- GitHub: Bilal Subhani
Feel free to contribute or report issues to improve FileSphere!