A real-time location sharing application that helps you track and stay connected with your friends using live geolocation and proximity alerts.
- 🗺️ Real-time Location Tracking - See where your friends are in real-time
- 📍 Proximity Alerts - Get notified when friends are nearby
- 👥 Group Management - Create groups and invite friends
- 💬 In-app Messaging - Chat with your group members
- 🔐 Secure Authentication - JWT-based authentication with password encryption
- 📱 Responsive Design - Works on desktop, tablet, and mobile devices
- 🌐 Always Online - Production-ready deployment on Vercel
- React 19 - UI framework
- Vite - Build tool
- Tailwind CSS - Styling
- Leaflet - Map rendering
- Zustand - State management
- Socket.IO Client - Real-time communication
- Axios - HTTP client
- Node.js & Express - Server framework
- MongoDB - Database
- Socket.IO - WebSocket communication
- JWT - Authentication
- Bcrypt - Password hashing
- Nodemailer - Email service
- Twilio - SMS service (optional)
- Cloudinary - Image uploads
- Node.js 16+ and npm/yarn
- MongoDB Atlas account (free tier available)
- Git
-
Clone the repository
git clone https://github.com/yourusername/amigos.git cd amigos -
Install dependencies
npm install cd backend && npm install && cd ..
-
Set up environment variables
cp .env.example .env # Edit .env with your local MongoDB URI and other settings -
Start the backend
npm run backend:dev
-
Start the frontend (in another terminal)
npm run dev
-
Open your browser
http://localhost:5173
This project is optimized for Vercel deployment. Your backend runs 24/7 without any additional configuration needed!
-
Fork this repository on GitHub
-
Go to Vercel.com
- Create a new account or log in
- Click "New Project"
- Select "Import Git Repository"
- Paste your repository URL
-
Configure the deployment
- Root Directory: Leave default
- Build Command:
npm run build - Output Directory:
dist
-
Add Environment Variables in Vercel Settings → Environment Variables:
Required:
NODE_ENV=production MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/amigos JWT_SECRET=your_generated_secret_key FRONTEND_URL=https://your-project.vercel.appOptional:
CLOUDINARY_CLOUD_NAME=your_value CLOUDINARY_API_KEY=your_value CLOUDINARY_API_SECRET=your_value SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your_email@gmail.com SMTP_PASSWORD=your_app_password -
Deploy - Click the deploy button and wait 2-5 minutes
-
Update frontend configuration
VITE_API_URL=https://amigos-phi-sooty.vercel.app/
See DEPLOYMENT.md for step-by-step instructions including:
- Setting up MongoDB Atlas
- Configuring email service
- Configuring SMS service (Twilio)
- Troubleshooting common issues
GET /api/health- Check if API is runningGET /api/status- Get detailed status including database connection
POST /api/auth/register- Register new userPOST /api/auth/login- Login userPOST /api/auth/refresh- Refresh JWT token
GET /api/users/profile- Get user profilePUT /api/users/profile- Update user profileGET /api/users/nearby- Get nearby users
POST /api/groups- Create groupGET /api/groups- List user's groupsPOST /api/groups/:id/invite- Invite member to group
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For issues or questions:
- Check DEPLOYMENT.md for deployment troubleshooting
- Open a GitHub Issue
- Contact the maintainers
✅ Always Online - Running 24/7 on Vercel ✅ Production Ready - Fully tested and optimized ✅ Open Source - Free to use, modify, and deploy
Made with ❤️