π What we'll Implement:
β π Advanced Authentication: Implement JWT, Firebase, and Google OAuth.
β π‘ Real-world CRUD Operations: Create, read, update, and delete property listings using MongoDB.
β π‘ User-friendly Features: Enhance the UX with image uploads, property listing management, and more.
β π Advanced Search Functionality: Implement search features to help users find what they're looking for.
β π Deployment: Deploy your MERN app for free.
- Frontend Setup (React & Tailwind)
- Creating Frontend pages & routes
- Header Component
- Create & Run Backend Server
- User Model
- Testing backend route
- Sign-up Route
- Sign-up Page UI & functionality Sign Up Code
- Error Middleware
- Sign-up loading & error states
- Sign-in Route
- Sign-in Page UI & functionality Sign In Code
- Redux Toolkit & persist Persist Store
- Google OAuth (Firebase) OAuth Controller OAuth Submit Handler
- Add avatar in header
- Profile Page UI Page UI
- Image Update (Not required) Profile Code
- Update User (Api Route)
- Update User Functionality Profile Fxn
- Delete User Reference
- Sign out User Reference
- Create listing page UI Page UI
- Create listing API route Listing Model
- Upload listing images Store Img Firebase
- Create listing page functionality Code
- Get user listings API route
- Show user listings functionality Section code
- Delete user listing functionality
- Update listing API route Function
- Update listing functionality UpdateListing UI
- Image Slider Slider UI
- Complete Listing Page Complete UI
- Search API Route Fxn
- Header search functionality
- Search Page Search.jsx Listing Block
- Home Page UI
- index.js
import path from 'path';
const __dirname = path.resolve();
app.use(express.static(path.join(__dirname, '/client/dist')));
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'client', 'dist', 'index.html'));
})
- package.json
"build": "npm install && npm install --prefix client && npm run build --prefix client"
- Render hosting process
- Open render
- New -> Web Service
- Connect from Github repo
- Build Command: npm run build
- Start Command: npm start
- Add env variables (Add key value pair you have in .env)