Welcome to my Star Wars Enthusiast Website, a project that combines Flask, Python, HTML, CSS, and minimal JavaScript to create an immersive experience for Star Wars fans.
- Features
- Getting Started
- Login Page
- Rate Limiting
- Data Exploration
- Error Handling
- ChatGPT Integration
- How to install?
- Issues
- Donation
- Inspiration
Website offers an immersive horizontal scrollable navigation bar that dynamically responds to mouse input, providing an engaging user experience.
The login page is meticulously designed using Flask's login system, incorporating modules like Flask-Login and WTForms. User passwords are securely encrypted using bcrypt, ensuring their confidentiality. I'm utilizing SQLAlchemy and SQLite for the current project.

To maintain a high level of security, I've implemented a sophisticated rate limiting mechanism. It temporarily restricts access to the login page if users exceed the maximum threshold, much like the Jedi's resilience guiding users back to the path of exploration.
Within the Star Wars-themed grid layout, users can delve into a treasure trove of captivating information. Navigating the site is made easy with arrow buttons, seamlessly integrated using Jinja2 templates. Info about characters is accessed through an API. Text is randomized to make interaction less repetitive. More about this could be found in swapi.py file.
Code expertly handles errors, logic is implemented to avoid out of bound and lot of dictionary errors. Also, I've made custom made error screen, which occurs if user tries to manually change something in link-section. In given example, we can see that user tried to manipulate dashboard and instead of indexes, he wrote completely different word. I've made 2 different versions of error screen, to make it less repetitive.
Powered by ChatGPT 3.5 Turbo API, I bring you up-to-date information through function-calling.Newly introduced function-calling has been utilized in the project, to not dive in source code too much, I'll showcase comparision of original and modified chat-bot. To explain the logic, based on prompt, ChatGPT understands when the function needs to be triggered and then accesses my SQLite DB which has information about upcoming Star Wars series/films. More about code in - chatapi.py
SQLite DB⬆️
Rest is up to you to explore, but how do you access the project?
To get a copy of this project and run it locally, follow these steps:
- You'll need Git installed on your computer. If you don't have it, you can download it here.
-
Open your terminal or command prompt.
-
Change the current working directory to the location where you want to clone the repository.
-
Use the following command to clone the repository:
git clone https://github.com/ggagua/star.git
-
Install required modules (Flask, SQLAlchemy, etc.), pip install -r requirements.txt
-
Run app.py
-
In your web-browser access your localhost (127.0.0.1:5000).
-
If your localhost is taken by another project or service, you can modify last line of the project and add port = 8000. Ex : app.run(debug=True, port = 8000)
I strive to make our Star Wars Enthusiast Website as flawless as a lightsaber. If you encounter any issues, bugs, or have suggestions for improvement, I welcome your feedback. Here's how you can help:
-
Check Existing Issues: Before reporting a new issue, please check our GitHub Issues to see if someone else has already reported the same problem or if there's an ongoing discussion about it.
-
Create a New Issue: If you can't find an existing issue that matches your problem or suggestion, feel free to create a new issue. Be as detailed as possible, including the steps to reproduce the issue, the expected behavior, and the actual behavior you observed.
-
Include Screenshots: If the issue is visual or related to the user interface, it's often helpful to include screenshots. You can upload them directly to the issue you create.
-
Provide Context: Describe the environment in which you encountered the issue, such as your operating system, browser, or any relevant software versions.
-
Contribute to Solutions: If you're technically inclined and want to contribute to resolving the issue, consider submitting a pull request. I am always open to collaboration from the community.
If you've found my Star Wars Website valuable and want to support its continued development and maintenance, you can make a donation.
I believe in transparency, and as a token of my commitment, I have uploaded a PDF that lists all the sources I've used in the development of this project. Feel free to check it out.
For inquiries or collaboration opportunities, feel free to contact me at ggagua.tech@gmail.com.
May the Force be with you!



