This project provides a streamlined setup for seamless development and deployment of Flask-based web applications, tailored to a specific workflow and preferences.
This project is currently in its early stages of development. Much of the initial content has been generated with the assistance of AI to provide a starting point and placeholder text. As development progresses, this content will be reviewed and replaced to accurately represents the project's goals and functionality.
- ๐ Easy Deployment: Pre-configured Docker setup for straightforward deployment.
- ๐ Authentication System: OAuth 2.0 support with email verification, password reset, and account linking.
- ๐ Security: Robust security features including Content Security Policy (CSP) headers, CSRF protection, and more.
- ๐ฆ MongoDB Integration: Fully integrated MongoDB support for scalable database management.
- ๐จ Modern Design: Utilizes Tailwind CSS and Flowbite UI library for a sleek, responsive design with light/dark mode support.
- ๐ Internationalization: Babel integration for multi-language support.
- ๐ SEO & Analytics: Ready for search engine optimization and analytics integration.
- ๐ Privacy Policy & ToS Templates: Pre-made templates for legal compliance.
- ๐ Toast Notifications: Manage notifications with a built-in toast notification system.
- ๐๏ธ Optimization: Automatic response minification and compression in production mode.
- ๐ก๏ธ Rate Limiting: Built-in rate limiting to protect against abuse.
- โ๏ธ Organized Project Structure: Well-organized files and directories for easy navigation and maintenance.
- ๐ฐ Celery & RabbitMQ Integration: Ready integration of Celery with RabbitMQ for efficient task queuing and background processing.
- ๐ณ Stripe Integration: Seamless payment processing with Stripe.
- ๐ Admin Panel: Interface for managing users and monitoring key metrics.
- ๐ Documentation: Comprehensive documentation for project setup, API endpoints, and usage guidelines.
- ๐จ Animations & UI Improvements: Enhancing user experience with smooth animations.
- ๐ ๏ธ Project Generator (Potential Feature): A CLI tool to generate new projects with pre-configured settings.
-
Clone the repository:
git clone https://github.com/yourusername/flask-starter-kit.git cd flask-starter-kit
-
Set up a virtual environment
python -m venv ./venv ./venv/Scripts/Active or (Depending on the operating system) source venv/bin/activate
-
Install dependencies:
python -m pip install -r requirements.txt npm install
-
Compile tailwin classes
.\tailwind.bat or (Depending on the operating system) ./tailwind.sh
-
Run the application:
python server.py
-
Visit
http://localhost:5000
in your browser.
When deploying to production you should always use Docker or any similar deployment system.
-
Make sure you have Docker and Docker Compose installed.
-
Build and run the containers:
docker-compose up --build -d
-
Visit
http://localhost:5000
in your browser. -
(Optional) Access MongoDB Express at
http://localhost:8081
to manage your database.
To set up Babel for internationalization:
-
Extract translatable strings:
pybabel extract -F babel.cfg -o messages.pot .
-
Create a new language catalog (e.g., for Spanish):
pybabel init -i messages.pot -d translations -l es
-
Translate the strings in
translations/es/LC_MESSAGES/messages.po
-
Compile the translations:
pybabel compile -d translations
-
To update existing translations:
pybabel update -i messages.pot -d translations
- Visit uicolors and generate a pallete of your liking
- Export you colors and replace it with the
primary
color in thetailwind.config.js
Add new routes in server.py
, create corresponding templates, and implement additional functionality in the src/
directory.
The following features and improvements are planned for future development:
- ๐ Admin Dashboard: Develop an administrative interface for managing users and content.
- ๐ Example Dashboard: Build a sample dashboard showcasing data visualization and management capabilities.
- ๐งช Unit Tests: Develop a comprehensive suite of unit tests for core functionality.
- ๐ User Activity Logging: Add logging for important user actions and system events.
- ๐ Documentation:
- Create detailed documentation for the project setup and usage
- Document API endpoints
- Implement a robust search functionality across the documentation
We welcome contributions to any of these areas. If you're interested in working on one of these tasks, please open an issue to discuss it before submitting a pull request.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
For questions or assistance, please open an issue in the GitHub repository.
Built with a curated tech stack, tailored for efficiency and personal preference.
โค๏ธ Crafted with passion using Flask, Tailwind CSS, and Flowbite.