Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update plan #33

Open
Juriy opened this issue Jun 16, 2021 · 6 comments
Open

Update plan #33

Juriy opened this issue Jun 16, 2021 · 6 comments

Comments

@Juriy
Copy link
Owner

Juriy commented Jun 16, 2021

Hello friends!

I'd like to apologize to you all for not taking enough care of swapi.dev during last year. Work projects being in the top of the list together with life-related aspects never allowed me to dedicate attention that this project deserves.

Another aspect that was making it more difficult is tech stack: Python 2 and Django 1.x... say I was super happy when I managed to properly deploy it, and it was handling the load well (it is serving more than 1000 API requests per second in peak).

However I never properly looked inside the project or took an effort to bring new conent or features that all API enthusiasts deserve and for that I scincerely apologize.

Now back to the constructive aspects of this post. I plan to resume my involvement in this project here are the changes and features that I plan for the near future. Good news, the first task is already done :)

  1. Keeping SWAPI more accessible and easier to deploy on your environment. With help of @tribalspirit we've Dockerized an application and the image is now available on DockerHub. Instructions how to use it will soon follow, but it boils down to:
> docker run -d -p 8000:8000 juriy/swapi:latest
> curl -L localhost:8000/api/people/1/
  1. New content. As SW saga continues there are more exciting characters, planets and spaceships to include. This doesn't seem like a lot of work, so I'll start updating DB.

  2. Platform refresh. Python 2 and Django 1.7 are not great in 2021. There's a PR from @leonidpodriz who dedicated lots of effort to updating it to a modern stack. One thing to keep in mind is that project is a very good candidate to become "cloud native" - so serverless (and Django-less) approach is also on the radar.

  3. Updating API schema and introducing new ways to access APIs like GraphQL. This one is tricky. On one hand it would be great to extend and refresh API, on the other hand... there are literally thousands of code examples in internet relying on existing API format. Last thing we want is to break those accidentally. Hence the current "classic" version will remain unchanged (except for the new data). An approach "going forward" would be to version API. Hey, this is another concept that API enthusiasts might want to learn about, why not killing two birds with one stone!

  4. Decoupling UI from API and refreshing UI. Self-explanotary: it would be nice to have a bit more modern landing page. Would also be great to add Swagger / OpenAPI docs to this API.

As you see there is months worth of work and I do not promise doing it all in one go, but rather to have a steady stream of updates.

@Juriy Juriy pinned this issue Jun 16, 2021
@nachtien
Copy link

Great :D. This is a neat project and I'm currently doing a coding project for a company using this API. Thanks for setting this up.

@themobilecoder
Copy link

Awesome project! Cheers!

One question though. Is there a maintenance going on with swapi.dev apis at the moment?
I was trying out the api the first time and am getting a throttled request already.

In any case, the docker solution is very neat!

@Juriy
Copy link
Owner Author

Juriy commented Jun 18, 2021

@themobilecoder thanks for heads up, recent updates to deployment broke throttling. I disabled it for now, let's hope I'm not DDoS-ed 🙂

@petrvecera
Copy link

Hi thank you very much for your project. We use it with our students for them to download some data and learn to work with json. It's a great and fun resource for them ❤️

Just one question, do you have any CDN cache deployed in front of your app? I guess that a lot of the data is never changing so it would make sense to cache most of the requests. I am preparing a new lab and the API is responding a really slowly.

Thanks ❤️

@SivaramPg
Copy link

Hi thank you very much for your project. We use it with our students for them to download some data and learn to work with json. It's a great and fun resource for them ❤️

Just one question, do you have any CDN cache deployed in front of your app? I guess that a lot of the data is never changing so it would make sense to cache most of the requests. I am preparing a new lab and the API is responding a really slowly.

Thanks ❤️

I would like to bring to attention my own Open Source swapi.info. A partially feature-parity take on SWAPI which solely utilizes Cloudflare & Cloudflare Pages infrastructure to provide blazing fast, non rate-limited, JSON-only APIs with excellent uptime guarentees and status monitoring to rapid reactions.

Built as a giveback to the community to provide an data explorer and API service for the new enterents in our community and for teachers to have a visual aid always available at their disposal.

@petrvecera
Copy link

Hi thank you very much for your project. We use it with our students for them to download some data and learn to work with json. It's a great and fun resource for them ❤️
Just one question, do you have any CDN cache deployed in front of your app? I guess that a lot of the data is never changing so it would make sense to cache most of the requests. I am preparing a new lab and the API is responding a really slowly.
Thanks ❤️

I would like to bring to attention my own Open Source swapi.info. A partially feature-parity take on SWAPI which solely utilizes Cloudflare & Cloudflare Pages infrastructure to provide blazing fast, non rate-limited, JSON-only APIs with excellent uptime guarentees and status monitoring to rapid reactions.

Built as a giveback to the community to provide an data explorer and API service for the new enterents in our community and for teachers to have a visual aid always available at their disposal.

We have also build our own open source version to be able to query the data without delays and limitations https://swapi.profiq.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants