This repository contains a file-sharing application built using Next.js, Firebase, and Tailwind CSS. The application allows users to upload, share, and manage files efficiently.
- File Upload: Users can upload files of various formats.
- File Sharing: Generate shareable links for uploaded files.
- User Authentication: Secure user login and registration using Firebase Authentication.
- Real-time Updates: Sync file changes in real-time with Firebase.
- Docker: Project File is Stored in Docker as Docker Image using CI/CD Pipeline.
- Next.js: React framework for server-side rendering and static site generation.
- Firebase: Backend as a Service (BaaS) for authentication and real-time database.
- Tailwind CSS: Utility-first CSS framework for styling.
- Vercel: Hosting platform for seamless deployment.
- Github Actions: CI/CD Integration with GitHub Actions
- Node.js
- npm or yarn
-
Clone the repository:
git clone https://github.com/praneeth622/file-sharing-app.git cd file-sharing-app/file-sharing-app
-
Install dependencies:
npm install # or yarn install
-
Set up Firebase:
- Create a Firebase project in the Firebase Console.
- Add your Firebase configuration to
firebaseConfig.js
.
Start the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 in your browser to view the application.
app/
: Contains the main application code.public/
: Static files.react-email-starter/
: Starter templates for emails.firebaseConfig.js
: Firebase configuration.tailwind.config.js
: Tailwind CSS configuration.next.config.mjs
: Next.js configuration.
The application can be deployed on Vercel for optimal performance and scalability. Refer to the Next.js deployment documentation for more details.
To run in the Docker image , use the following command:
docker run praneeth0331/dropit:tagname
This repository includes CI/CD integration using GitHub Actions. The workflow automates the build and deployment process to ensure efficient development cycles.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License.
For more information, visit the GitHub repository.