🌟 Elevate your web development experience with FastWindX - where speed meets simplicity!
FastWindX is a cutting-edge web application framework that combines the power of FastAPI, the interactivity of HTMX, and the flexibility of Tailwind CSS. It's designed to help developers create lightning-fast, scalable, and interactive web applications with ease and elegance.
- 🚄 FastAPI Backend: Harness the speed and simplicity of FastAPI for robust API development.
- 🔄 HTMX Frontend: Create dynamic, AJAX-powered frontends without complex JavaScript.
- 🎨 Tailwind CSS: Craft beautiful, responsive UIs with the utility-first CSS framework.
- 🔐 Built-in Authentication: Secure your app with a pre-configured JWT authentication system.
- 🗃️ SQLModel Integration: Intuitive database operations with SQLModel ORM.
- 🚦 Asynchronous by Design: Fully asynchronous architecture for high performance.
- 🐳 Docker Ready: Easy deployment with included Dockerfile and docker-compose setup.
- 🛠️ CLI Tool: Streamline your workflow with our command-line interface for project management.
Get up and running with FastWindX in minutes!
-
Install FastWindX:
pip install fastwindx
-
Create a new project:
fastwindx createproject my_awesome_app
-
Navigate to your project:
cd my_awesome_app
-
Install dependencies:
pip install -r requirements.txt npm install
-
Run your app:
fastwindx run
-
🎉 Visit
http://localhost:8000
and see your app in action!
Before running FastWindX, you need to set up your environment variables.
-
Create a .env file:
cp .env.example .env
-
Edit the .env file: Open the .env file in your preferred text editor and update the values as needed. Pay special attention to:
DATABASE_URL
: Your database connection stringSECRET_KEY
: A secret key for security (generate a strong, unique key)- Any other app-specific settings
-
⚠️ Important: Never commit your .env file to version control. It's already in .gitignore for your safety.
FastWindX comes with a pre-configured Docker Compose setup, making it easy to get your entire development environment up and running with just a few commands. This setup includes:
- 🚀 Your FastWindX application
- 🐘 PostgreSQL database
- 🔍 pgAdmin for database management
- Make sure you have Docker and Docker Compose installed on your system:
- Ensure you've created your .env file as described in the Environment Setup section above.
-
Navigate to your project directory:
cd my_awesome_app
-
Build and start the services:
docker-compose up --build
-
🎉 Your FastWindX app is now running at
http://localhost:8000
- 🚀 FastWindX App: http://localhost:8000
- 🔍 pgAdmin: http://localhost:5050
- Email:
[email protected]
(or as set in yourdocker-compose.yml
) - Password: Check your
docker-compose.yml
file
- Email:
To connect to the PostgreSQL database using pgAdmin:
- Open pgAdmin and login
- Add a new server with the following details:
- Host:
db
(the service name in docker-compose) - Port:
5432
- Username:
fastwindx
(or as set in yourdocker-compose.yml
) - Password: Check your
docker-compose.yml
file
- Host:
To stop the Docker Compose services:
docker-compose down
Add -v
flag to remove volumes if you want to start fresh next time:
docker-compose down -v
For development, you can run the services in detached mode and view logs as needed:
docker-compose up -d
docker-compose logs -f
This Docker Compose setup provides a complete development environment, allowing you to focus on building your FastWindX application without worrying about database setup or management tools.
For detailed documentation, check out our Wiki.
We welcome contributions! Here's how you can help:
- 🍴 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
Please read our Contributing Guide for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI for the incredible Python web framework
- HTMX for simplifying web interactivity
- Tailwind CSS for the amazing utility-first CSS framework
- SQLModel for the intuitive ORM