A simple project to get started with your Flask App, inspired by Create React App.
Create Flask App is designed to help you quickly set up a scalable Flask project. It comes with user authentication ( register, login, logout) and a basic admin page. Styling is done using Bootstrap 5.3.3. By default, it uses SQLite3, but you can easily configure it to use your preferred database.
- User Registration
- User Login
- User Logout
- Protected Home Page
- Users Admin Page
- RESTful API
- Blueprint Architecture for Scalability
Make sure you have the following installed on your system:
- Python 3.x
- pip (Python package installer)
- virtualenv (optional but recommended)
-
Clone the repository:
git clone https://github.com/Gl0deanR/create-flask-app.git cd create-flask-app
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Set up the database:
flask db init flask db migrate -m "Initial migration" flask db upgrade
-
Run the application:
python app.py
-
Access the application:
Open your browser and go to http://localhost:5000/auth/register to register a new user. After registration, you can log in at http://localhost:5000/auth/login. The home page is protected and only accessible to logged-in users.
For development, the app runs in debug mode by default. Make sure you activate your virtual environment and then run:
python app.py
Whenever you make changes to your database models, apply the migrations with:
flask db migrate -m "Description of changes"
flask db upgrade
We welcome contributions! Here's how you can help:
- Fork the repository.
- Create a new branch (
git checkout -b feature
). - Make your changes and commit them (git commit -m 'Add some feature').
- Push the branch (
git push origin feature
). - Open a pull request.
- Follow the coding style used in the project.
- Write clear, concise commit messages.
- Add tests for any new functionality.
- Update the documentation as needed.
If you have any feature requests or suggestions, please feel free to open an issue on GitHub or contact me directly via X.
-
User Profile Management
- Add user profile view and edit functionality
- Add password change feature
- Implement profile picture upload
-
Role-Based Access Control
- Define roles (admin, user)
- Implement role-based permissions
- Create admin dashboard for user management
-
Email Notifications
- Integrate Flask-Mail
- Set up email templates for registration and password reset
- Implement background job for sending emails
-
OAuth Integration
- Set up OAuth with Google, Facebook, and GitHub
- Add login buttons and routes
- Handle OAuth user registration
-
RESTful API Documentation
- Document all API endpoints
- Provide examples and usage instructions
-
Docker Compose Setup
- Create a
docker-compose.yml
file - Define services for the app and database
- Update documentation for Docker setup
- Create a
-
Admin Dashboard Enhancements
- Add user analytics
- Integrate system health monitoring
- Implement activity logs
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask
- Bootstrap
- SQLite
- Inspired by Create React App
This project is maintained by me, Raul, founder of GLOBINARY, a custom software solutions company. I specialize in creating web-based applications, mobile apps, and SaaS solutions. Visit our website to learn more about our services.
Connect with me on X: @Gl0deanR
Thank you for using Create Flask App! If you encounter any issues or have suggestions, please open an issue on GitHub.