BuddyBank is a modern contact management system that helps you organize and manage your contacts efficiently. Built with Node.js, Express, and MongoDB, it provides a seamless experience for storing and accessing your contacts.
-
👤 User Authentication
- Secure signup and signin
- Session management
- Password protection
-
📱 Contact Management
- Create, read, update, and delete contacts
- Modern card-based UI
- Real-time updates
- Animated interactions
-
📁 File Management
- Upload profile pictures
- Image preview
- File storage system
-
🎨 Modern UI/UX
- Responsive design
- Gradient animations
- Clean and minimalist interface
- Mobile-friendly layout
- Backend: Node.js, Express.js
- Database: MongoDB Atlas
- Authentication: Passport.js
- Frontend: EJS, CSS3, JavaScript
- File Upload: Multer
- Session Management: Express-session
- Others:
- Cookie-parser
- Connect-mongo
- Express-flash
- Clone the repository
git clone https://github.com/yourusername/buddybank.git
cd buddybank
- Install dependencies
npm install
- Environment Setup
Create a
.env
file in the root directory:
MONGOURL=your_mongodb_atlas_url
SESSION_SECRET=your_session_secret
PORT=8000
- Start the application
# Development
npm run dev
# Production
npm start
This application is ready to deploy on Vercel:
- Push your code to GitHub
- Import your repository in Vercel
- Add environment variables
- Deploy!
Variable | Description |
---|---|
MONGOURL |
MongoDB Atlas connection string |
SESSION_SECRET |
Secret for session management |
PORT |
Application port (default: 8000) |
GET /signup
- Signup pagePOST /signup
- Create new userGET /signin
- Signin pagePOST /signin
- Authenticate userGET /signout
- Logout user
GET /
- List all contactsPOST /aboutme
- Create new contactGET /delete/:id
- Delete contactGET /update/:id
- Update contact formPOST /update/:id
- Update contact
GET /upload
- Upload formPOST /upload
- Upload fileGET /showImages
- View uploaded files
- Fork the repository
- Create your 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
- Modern UI inspiration from Google Contacts
- MongoDB Atlas for database hosting
- Vercel for deployment
- Node.js community for amazing packages
Made with ❤️ by Rahul Mahato