FollowMe is a social platform for discovering, hosting, and joining in-person events. It features real-time private chat, rich filtering, and responsive design that makes it simple to connect and meet new people.
This platform makes it easy to:
- Find meetups happening in town
- Connect with like-minded people
- Join events and chat before you meet
DEMO: Click here to try the app!
- Browse and Discover Events: Filter and search by city, category, and title. Each event has a cover image, description, host info, location, time, and list of participants.
- Join and Host Events: Sign up, create your own events, or join others with one click.
- User Profiles: Personalize your profile with photo, age, hobbies, city, interests. View public profiles of event attendees.
- Friends List: Add users as friends or search attendees; sort, filter, and chat with friends.
- Real-Time Messaging: One-on-one real-time chats powered by Socket.IO. Chat with friends before or after events.
- Secure Authentication: JWT-based login, password hashing, and profile privacy settings.
- Mobile-Friendly UI: Responsive burger menu sidebar and touch-friendly navigation.
- Node.js (v22+)
- MongoDB
- npm
- Git
git clone https://github.com/hyf-final-project/followme-app.git
cd followme-app
npm install
npm run setup # initializes client and server
# Create .env files from respective .env.example in client and server
npm run dev # runs both client and server in developmentFrontend
- React 19 & Vite
- Sass
- React Testing Library & Jest
Backend
- Node.js, Express.js
- MongoDB & Mongoose
- JWT and bcrypt
- Supertest & Jest for API
Real-Time Features
- Socket.IO
Dev Tools
- ESLint, Prettier, Husky
- Cypress
- Dotenv, Concurrently
client/
├── public/
└── src/
├── __tests__/
├── __testUtils__/
├── components/
├── hooks/
├── pages/
├── __tests__/
└── components/
├── util/
└── index.jsx
cypress/
├── fixtures/
├── integration/
├── plugins/
└── support/
server/
└── src/
├── __tests__/
├── __testUtils__/
├── controllers/
├── db/
├── models/
├── routes/
├── util/
└── index.js