Skip to content

ggagua/star

Repository files navigation

Star Wars Website

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.

Table of Contents

Features

Responsive Navigation

Website offers an immersive horizontal scrollable navigation bar that dynamically responds to mouse input, providing an engaging user experience.

Responsive Navigation

Login Page

Secure Authentication

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. image

Rate Limiting

Jedi-Like Resilience

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.

Rate Limiting

Data Exploration

Star Wars Grid Layout

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.

Star Wars Grid Layout

Error Handling

Graceful Handling

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.

Error Handling

ChatGPT Integration

Unleash the Force of Knowledge

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

image image image

SQLite DB⬆️

Rest is up to you to explore, but how do you access the project?

Getting Started

To get a copy of this project and run it locally, follow these steps:

Prerequisites

  • You'll need Git installed on your computer. If you don't have it, you can download it here.

Cloning the Repository

  1. Open your terminal or command prompt.

  2. Change the current working directory to the location where you want to clone the repository.

  3. Use the following command to clone the repository:

    git clone https://github.com/ggagua/star.git
  4. Install required modules (Flask, SQLAlchemy, etc.), pip install -r requirements.txt

  5. Run app.py

  6. In your web-browser access your localhost (127.0.0.1:5000).

  7. 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)

Issues

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:

  1. 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.

  2. 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.

  3. 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.

  4. Provide Context: Describe the environment in which you encountered the issue, such as your operating system, browser, or any relevant software versions.

  5. 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.

Donation

If you've found my Star Wars Website valuable and want to support its continued development and maintenance, you can make a donation.

Attribution and Acknowledgments

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!

About

Star Wars Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors