LuTools is a collection of essential online tools designed to enhance your daily productivity. Hosted under lutools.luca137.com, LuTools offers accessible and reliable utilities that you can use anytime, anywhere.
- Text to Markdown Converter: Easily convert plain text to Markdown format.
- Email Sender: Send customized emails directly from the platform.
- Additional Tools: More utilities to be added regularly based on user feedback.
-
Frontend:
- SvelteKit
- Tailwind CSS
- Vite
- Hosted on Vercel
-
Backend:
- Python
- FastAPI
- Supabase (for database management)
- Hosted on Render.com
-
DevOps:
- GitHub for version control
- GitHub Actions for CI/CD
- Custom logging with Python’s
loggingmodule
LUTOOLS
├── backend_env
│ ├── __pycache__
│ ├── Include
│ ├── Lib
│ ├── Scripts
│ └── utils
│ ├── logger_config.py
│ ├── env
│ ├── .gitignore
│ ├── main.py
│ ├── pyvenv.cfg
│ └── requirements.txt
└── frontend
├── .github
├── svelte-kit
├── node_modules
├── src
├── static
├── .gitignore
├── .npmrc
├── package-lock.json
├── package.json
├── README.md
├── svelte.config.js
└── vite.config.js- backend_env: Contains the Python backend, including virtual environment and utility scripts.
- frontend: Houses the SvelteKit frontend application with all necessary configurations and dependencies.
- Node.js (v14 or later)
- Python (v3.8 or later)
- Git
git clone https://github.com/lucianoaf8/lutools.git
cd lutools-
Navigate to Backend Directory:
cd backend_env -
Create a Virtual Environment:
python -m venv backend_env
-
Activate the Virtual Environment:
-
Windows:
backend_env\Scripts\activate
-
macOS/Linux:
source backend_env/bin/activate
-
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Environment Variables:
Create a
.envfile in thebackend_envdirectory with the following variables:SECRET_KEY=your_secret_key SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_key
-
Navigate to Frontend Directory:
cd ../frontend -
Install Dependencies:
npm install
-
Configure Environment Variables:
Create a
.envfile in thefrontenddirectory with the following variable:VITE_API_BASE_URL=https://your-backend-url.com
-
Start the Backend Server:
cd backend_env uvicorn main:app --reloadThe backend will be accessible at
http://localhost:8000. -
Start the Frontend Development Server:
cd ../frontend npm run dev -- --openThe frontend will open in your default browser at
http://localhost:5173.
Once both servers are running, navigate to http://localhost:5173 to access LuTools. Use the provided interface to interact with the available tools such as the Text to Markdown Converter and Email Sender.
-
Sign Up/Login to Vercel:
- Visit Vercel and create an account or log in.
-
Import Project:
- Connect your GitHub account.
- Import the
frontenddirectory from thelutoolsrepository.
-
Configure Settings:
- Set the framework preset to SvelteKit.
- Add environment variables (
VITE_API_BASE_URL) in the Vercel dashboard.
-
Deploy:
- Vercel will automatically build and deploy your frontend.
- Configure the custom domain
lutools.luca137.comthrough Vercel’s domain settings.
-
Sign Up/Login to Render.com:
- Visit Render and create an account or log in.
-
Create a New Web Service:
- Select New > Web Service.
- Connect your GitHub repository and select the
backend_envdirectory.
-
Configure Build and Start Commands:
- Build Command:
pip install -r requirements.txt - Start Command:
uvicorn main:app --host 0.0.0.0 --port 10000
- Build Command:
-
Set Environment Variables:
- Add
SECRET_KEY,SUPABASE_URL, andSUPABASE_KEYin Render’s environment settings.
- Add
-
Deploy:
- Render will build and deploy your backend application.
- Note the backend URL provided by Render and update the frontend’s
VITE_API_BASE_URLaccordingly.
Contributions are welcome! Please follow these steps to contribute to LuTools:
-
Fork the Repository:
Click the "Fork" button at the top right of the repository page on GitHub.
-
Clone Your Fork:
git clone https://github.com/your-username/lutools.git cd lutools -
Create a New Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes:
Implement your feature or bug fix.
-
Commit Your Changes:
git add . git commit -m "Add your descriptive commit message"
-
Push to Your Fork:
git push origin feature/your-feature-name
-
Create a Pull Request:
Go to the original repository on GitHub and click "Compare & pull request."
This project is licensed under the MIT License.
Notes:
-
Environment Variables: Ensure that all sensitive information is stored securely and not exposed in the repository. Use
.envfiles locally and configure environment variables through your hosting provider for production. -
Logging: The backend includes a custom logging setup to monitor application performance and capture errors. Logs are stored in the
logs/directory, organized by date. -
Testing: Regularly test both frontend and backend functionalities to ensure reliability and performance.
-
Documentation: Additional documentation can be added as the project evolves, including API specifications, detailed usage guides for each tool, and developer notes.
Feel free to reach out or open an issue on the GitHub repository if you encounter any problems or have suggestions for improvements!