A modern bookmark manager that uses AI to automatically summarize, categorize, and organize your saved links with a smart folder structure.
- Docker and Docker Compose
- Git
-
Clone the repository:
git clone https://github.com/Wanderer0074348/SaveIt.git cd SaveIt
-
Set up environment variables:
Create a
.env
file in thebackend/
directory:cd backend touch .env
Add your MongoDB Atlas connection string to
.env
:MONGODB_URI= your_key
-
Start the application:
# From the SaveIt/ root directory docker-compose up --build
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
SaveIt/
├── backend/ # Python FastAPI backend
│ ├── main.py
│ ├── database/ # MongoDB models and operations
│ ├── api/ # API routes
│ └── requirements.txt
├── frontend/ # React + Tailwind CSS frontend
│ ├── src/
│ ├── components/
│ └── package.json
└── docker-compose.yml
Add a link:
curl -X POST http://localhost:8000/api/links/ \
-H "Content-Type: application/json" \
-d '{"url": "https://www.google.com", "title": "Google"}'
Get all links:
curl http://localhost:8000/api/links/
Backend:
cd backend
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload
Frontend:
cd frontend
npm install
npm run dev
sudo usermod -aG docker $USER
newgrp docker
- Stop other services using ports 3000 or 8000
- Or modify ports in
docker-compose.yml
- Verify your
MONGODB_URI
in the.env
file - Ensure your MongoDB Atlas cluster allows connections from your IP
- ✅ Add and save links
- ✅ Modern React + Tailwind CSS frontend
- ✅ FastAPI backend with MongoDB
- 🚧 AI summarization (coming soon)
- 🚧 Auto-categorization (coming soon)
- 🚧 Smart folder structure (coming soon)
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is open source. See the repository for license details.
Need help? Open an issue on GitHub or check the API documentation at http://localhost:8000/docs when running locally.