Pulse is a full-stack social media application designed to connect users through posts, images, and fun interactions.
- User Authentication: Secure log in and sign up.
- Posts: Create and manage posts with ease.
- Image Posting: Share images effortlessly.
- Comments: Engage with posts through comments.
- Account Management: Comprehensive tools for managing your account.
- Daily Advice: Receive daily random advice from AdviceSlip.
- NASA Posts: Stay informed with posts from NASA.
- Fun Facts: Enjoy quirky, fun, and utterly useless facts.
- User Connections: Connect and interact with other users.
- Post Sharing: Share your favorite posts.
- Emojis: Express yourself with emojis.
- Dark Mode & Light Mode: Switch between dark and light themes
- JavaScript
- React
- Tailwind CSS
- Vite
- Shadcn
- Vercel
- Express
- Node.js
- MongoDB
- Mongoose
- Cloudinary
- Vercel
- react-hook-form: Simplifies form state management and validation.
- react-router-dom: Routing for React applications.
- zod: Schema validation for forms.
- react-query: Data fetching and caching.
- axios: Promise-based HTTP client.
- date-fns: JavaScript date utility library.
- emoji-mart: Emoji picker for posts.
- lodash: Utility library for JavaScript.
- react-image-gallery: Image gallery component for React.
- PassportJS: Authentication middleware for Express.
- bcryptjs: Password hashing and salting.
- jsonwebtoken: JSON Web Token implementation.
- dotenv: Environment variable management.
- express-validator: User input validation middleware.
- cloudinary: Image upload and storage.
- multer: File upload middleware for Node.js.
- express-async-handler: Asynchronous error handling middleware.
- cors: Middleware for enabling CORS.
- streamifier: Converts Buffer/String into a readable stream.
Pulse is built with a modern tech stack to ensure a seamless and enjoyable user experience. Explore the live demo to see it in action!