LIVE : https://minstagram1.web.app/
Minstagram is a full-stack photo-sharing application developed using React, TypeScript, Material UI, Firebase, and Firestore. This application allows users to register, upload, like, comment on, and report photos.
- User Registration and Authentication
- Photo Upload
- Like Photos
- Comment on Photos
- Report Photos
- Real-time Data Updates with Firestore
- Profile Management with Photo Uploads
- Responsive and User-Friendly Design
- Frontend: React, TypeScript, Material UI
- Backend: Firebase Firestore, Firebase Storage
- Authentication: Firebase Authentication
- Deployment: Firebase Hosting
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/sahinmeric/minstagram.git cd minstagram
-
Install dependencies:
npm install
-
Create a Firebase project:
- Go to the Firebase Console
- Click on "Add Project" and follow the steps to create a new Firebase project
-
Setup Firebase:
- In your Firebase project, navigate to Project Settings and find your Firebase SDK configuration
- Create a
.env
file in the root of your project and add your Firebase configuration like this:
REACT_APP_FIREBASE_API_KEY=your-api-key REACT_APP_FIREBASE_AUTH_DOMAIN=your-auth-domain REACT_APP_FIREBASE_PROJECT_ID=your-project-id REACT_APP_FIREBASE_STORAGE_BUCKET=your-storage-bucket REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id REACT_APP_FIREBASE_APP_ID=your-app-id
-
Enable Firebase Services:
- Enable Firestore, Firebase Storage, and Firebase Authentication (Email/Password) in the Firebase Console
-
Start the development server:
npm start
-
Deploy to Firebase Hosting:
- Install Firebase CLI if you haven't already:
npm install -g firebase-tools
- Login to Firebase:
firebase login
- Initialize Firebase in your project:
firebase init
- Follow the prompts to set up Firebase Hosting and select your Firebase project
- Deploy your project:
npm run build firebase deploy
- Install Firebase CLI if you haven't already:
- Register: Create a new account by providing an email, password, and username.
- Login: Login to your account using your registered email and password.
- Upload Photo: Upload a new photo with a description.
- Like Photos: Like your favorite photos.
- Comment on Photos: Add comments to photos.
- Report Photos: Report inappropriate photos.
- Profile Management: Update your profile information and profile picture.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
For any inquiries or feedback, please contact: