#Developer-API
Explore tagged Tumblr posts
Text
Modern software development be like: I wrote 10 lines of code to call an API that calls another API, which calls yet another API that finally turns on a lightbulb. Pray that Cloudflare or AWS will not be down during this operation; otherwise, there will be no light for you.
115 notes
·
View notes
Text
Officially a Software Developer! 🥳
This has been one of my favorite experiences ever! It was super challenging, but I loved every minute of it.
Yes I cried a lot and I felt anxious more than I have ever in my whole life but hey I did it at least. 💻✨
Can you believe I reached this level in a year and half only 😭 all thanks to my hard work ⭐️
My next goal is to update my graduation project, add more features, and of course, build even more personal projects!
Now let me tell you about my graduation project, Ganbare is a web application designed to help Japanese language learners practice vocabulary, kanji, and grammar. It's a full-stack project that was built with .Net 8 and React JS.
The design needs a lot of work but hey I had a very limited time (3 weeks for backend and 3 weeks for front end) so I couldn’t be that creative.
You can learn more about my Ganbare project here:
Backend: https://github.com/HayaTamimi/Ganbare
Frontend: https://github.com/HayaTamimi/ ganbare-jipt
Please check github code instead of the deployment links (deployment links need more works)
Unfortunately, the deployment link isn’t working (fetching the database is very slow) but I will update it and fix it after I solve some problems and add more features.
For the leaderboard, I am not able to save the score of the user to the l database. Also I need to fix the admin dashboard, it’s not suitable for how my backend is designed.
I got full mark because I fulfilled all the requirements but that doesn’t mean my project is perfect, its far from perfect actually.
Next, I want to tell you about the career update, put let this be for other day.
#api#software developer#software development#programming#coding#codeblr#learn to code#webdevelopment#womanintech#100daysofcode#html#front end development#backenddevelopment#backend frameworks#react js#javascript#full stack web development#full stack developer#database#.net framework#c sharp
53 notes
·
View notes
Text
Introduction to APIs and Web APIs
The illustration above is the best way you can think of how APIs work and I talk more about it in my new article about APIs. I really love the concept and logic of APIs, it proves that collaboration is a huge part of programming and APIs solidify that. I hope you enjoy the read and also this is my first article and I intend to write more about technologies that interest me and maybe tips and tricks in the future.
111 notes
·
View notes
Text
03/10/23
i finished shecodes week 5 homework, and now the app we're building has real-time temperature, as well as description of temperature, humidity and wind! you can search the city or you can get temperature of your current location!! this is really cool!
learning about api has being really exciting, so i made a simple page using meow-facts api where you click meow to get facts about cats, you can check the repository and the live page!
really excited to learn more about api!
ps: this sakura chocolate is the cutest thing! i almost didn't eat it 🥺
49 notes
·
View notes
Text
making this blog to document the creation (and hopefully improvement) of a welcome to night vale api since, what the hell, no one else has, it's been a few years since i ran a wtnv blog, and i need a fun project to look at that's not work. open to suggestions for features/site design <3
#welcome to night vale#wtnv#night vale presents#welcome to night vale api#api#software development#coding
6 notes
·
View notes
Text
not to sound like a redditor again but holy fuck it’s actually so annoying to be smarter than most people and it creates actual problems in my life. I have to be so careful about anything I say because even if it’s correct, people my level and above me will feel like I am making them look bad or challenging their authority so every fucking thing I say has to be this careful construction of explaining the same thing over and over again until I can finally lead them to the right answer so they don’t feel like I’m smarter than them.
#like I gave some VERY basic background on how APIs work to make my answer of ‘since the SME isn’t here you really need to talk to the#developer’ make sense#and 5 very very frustrating ‘well can they just do this?’ ‘yeah if they can target that endpoint’ ‘well can they target that end point?’#‘I don’t know and it’s not documented so you’ll have to ask [developer]’ ‘oh okay but what about this?’#and then repeat that 5 times but each time the field suggestion is different#but she’s technically my boss so I can’t even say ‘this is why I said you’d need to ask [developer] I do not have the answer you need’ bc#bc the last time I did that I got yelled at.#it’s even worse with my male superiors and like#I don’t know if I’m actually just smarter than everyone or if I’m just like super autistic or something????#it’s such a stupid thing to complain about too and it sounds so arrogant and self centered#but also like. that is my experience…#but also I can’t imagine that I’m actually meaningfully smarter than 3/4 of the people I meet????????#like am I just unlucky?????
4 notes
·
View notes
Text
Color scheme picker!
working on a color picker that gives you a scheme for the given color using color api! I am getting the colors now, and now I just need to display them hehe
As for as UI goes, this is a very lofi prototype of what I'm imagining
if you see something in my code that makes you go "oh my god that is terrible practice pls never do that" feel more than free to point it out lol, I'd just be happy
#javascript#api#web development#software development#js#react#next#frontend dev#frontend developer#studyspo#compsci#studyblr
48 notes
·
View notes
Text
Project update
In June, when I started the jolt-jni open-source software project, I considered it a subsidiary project. However, it proved so absorbing that it soon soaked up most of my attention, leaving little for all my other projects.
This is surprising, since unlike most of my projects, it has no graphical component (yet) meaning no satisfying CGI images to enjoy (and perhaps share on social media).
Also unlike most of my projects, I was coding it from scratch, yet constrained by a preexisting API. In practice, that meant writing a ton of boring boilerplate. Prior to this I'd been scornful of the idea of using AI to generate code. But for generating boilerplate code, I can see that mechanical aids have their place.
Now that the library is about 80% complete, I've turned more of my attention to testing. My progress (measured in lines of code) is much slower. Some days I delete more code than I add. The good news is, I enjoy troubleshooting far more than coding.
For the record, here are the current statistics:
+ 1472 commits
+ Overall 48K lines of code (excluding comments and blanks)
+ 29K lines of Java (including 8K lines of tests and examples)
+ 17K lines of C++
#open source#software development#coding#java#c++#troubleshooting#api#current project#library#generative ai
2 notes
·
View notes
Text
Transparency and affordability are everything! So, choose the smarter option today and start maximizing your savings.
#whatsapp chatbot#telegram#whatsapp api#whatsapp#technology#software#saas platform#saas development company#business#marketing#b2b saas#saas#digital marketing
3 notes
·
View notes
Text
Efficient API development with PHP can greatly enhance your business operations by allowing seamless communication between various applications and platforms. PHP is a flexible and robust language that offers fast performance, scalability, and wide compatibility with databases, making it an ideal choice for building APIs that handle high traffic and large data volumes.
By utilizing PHP for API development, your business can streamline data exchange, integrate third-party services, and improve user experiences across digital platforms. Whether you're building a custom application or expanding an existing system, PHP's extensive library support and strong community make it a reliable choice for crafting efficient, secure APIs.
#api#development#api development#php web development services#php programming#php development company
2 notes
·
View notes
Text
Do You Want Some Cookies?
Doing the project-extrovert is being an interesting challenge. Since the scope of this project shrunk down a lot since the first idea, one of the main things I dropped is the use of a database, mostly to reduce any cost I would have with hosting one. So things like authentication needs to be fully client-side and/or client-stored. However, this is an application that doesn't rely on JavaScript, so how I can store in the client without it? Well, do you want some cookies?
Why Cookies
I never actually used cookies in one of my projects before, mostly because all of them used JavaScript (and a JS framework), so I could just store everything using the Web Storage API (mainly localstorage). But now, everything is server-driven, and any JavaScript that I will add to this project, is to enhance the experience, and shouldn't be necessary to use the application. So the only way to store something in the client, using the server, are Cookies.
TL;DR Of How Cookies Work
A cookie, in some sense or another, is just an HTTP Header that is sent every time the browser/client makes a request to the server. The server sends a Set-Cookie header on the first response, containing the value and optional "rules" for the cookie(s), which then the browser stores locally. After the cookie(s) is stored in the browser, on every subsequent request to the server, a Cookie header will be sent together, which then the server can read the values from.
Pretty much all websites use cookies some way or another, they're one of the first implementations of state/storage on the web, and every browser supports them pretty much. Also, fun note, because it was one of the first ways to know what user is accessing the website, it was also heavy abused by companies to track you on any website, the term "third-party cookie" comes from the fact that a cookie, without the proper rules or browser protection, can be [in summary] read from any server that the current websites calls. So things like advertising networks can set cookies on your browser to know and track your profile on the internet, without you even knowing or acknowledging. Nowadays, there are some regulations, primarily in Europe with the General Data Privacy Regulation (GDPR), that's why nowadays you always see the "We use Cookies" pop-up in websites you visit, which I beg you to actually click "Decline" or "More options" and remove any cookie labeled "Non-essential".
Small Challenges and Workarounds
But returning to the topic, using this simple standard wasn't so easy as I thought. The code itself isn't that difficult, and thankfully Go has an incredible standard library for handling HTTP requests and responses. The most difficult part was working around limitations and some security concerns.
Cookie Limitations
The main limitation that I stumbled was trying to have structured data in a cookie. JSON is pretty much the standard for storing and transferring structured data on the web, so that was my first go-to. However, as you may know, cookies can't use any of these characters: ( ) < > @ , ; : \ " / [ ] ? = { }. And well, when a JSON file looks {"like":"this"}, you can think that using JSON is pretty much impossible. Go's http.SetCookie function automatically strips " from the cookie's value, and the other characters can go in the Set-Cookie header, but can cause problems.
On my first try, I just noticed about the stripping of the " character (and not the other characters), so I needed to find a workaround. And after some thinking, I started to try implementing my own data structure format, I'm learning Go, and this could be an opportunity to also understand how Go's JSON parsing and how mostly struct tags works and try to implement something similar.
My idea was to make something similar to JSON in one way or another, and I ended up with:
Which, for reference, in JSON would be:
This format is something very easy to implement, just using strings.Split does most of the job of extracting the values and strings.Join to "encode" the values back. Yes, this isn't a "production ready" format or anything like that, but it is hacky and just a small fix for small amounts of structured data.
Go's Struct Tags
Go has an interesting and, to be honest, very clever feature called Struct Tags, which are a simple way to add metadata to Structs. They are simple strings that are added to each field and can contain key-value data:
Said metadata can be used by things such the encoding/json package to transform said struct into a JSON object with the correct field names:
Without said tags, the output JSON would be:
This works both for encoding and decoding the data, so the package can correctly map the JSON field "access_token" to the struct field "Token".
And well, these tokens aren't limited or some sort of special syntax, any key-value pair can be added and accessed by the reflect package, something like this:
Learning this feature and the reflect package itself, empowered me to do a very simple encoding and decoding of the format where:
Can be transformed into:
And that's what I did, and the [basic] implementation source code just has 150 lines of code, not counting the test file to be sure it worked. It works, and now I can store structured data in cookies.
Legacy in Less Than 3 Weeks
And today, I found that I can just use url.PathEscape, and it escapes all ( ) < > @ , ; : \ " / [ ] ? = { } characters, so it can be used both in URLs and, surprise, cookie values. Not only that, but something like base64.URLEncoding would also work just fine. You live, and you learn y'know, that's what I love about engineering.
Security Concerns and Refactoring Everything
Another thing that was a limitation and mostly worry about me, is storing access tokens on cookies. A cookie by default isn't that secure, and can be easily accessed by JavaScript and browser extensions, there are ways to block and secure cookies, but even then, you can just open the developer tools of the browser and see them easily. Even though the only way to something malicious end up happening with these tokens are if the actual client end up being compromised, which means the user has bigger problems than just a social media token being leaked, it's better to try preventing these issues nonetheless (and learn something new as always).
The encryption and decryption part isn't so difficult, Go already provides packages for encryption under the crypto module. So I just implemented an encryption that cyphers a string based on a key environment variable, which I will change every month or so to improve security even more.
Doing this encryption on every endpoint would be repetitive, so adding a middleware would be a solution. I already made a small abstraction over the default Go's router (the DefaultMuxServer struct), which I'm going to be honest, wasn't the best abstraction, since it deviated a lot from Go's default HTTP package conventions. This deviation also would difficult the implementation of a generic middleware that I could use in any route or even any function that handles HTTP requests, a refactor was needed. Refactoring made me end up rewriting a lot of code and simplifying a lot of the code from the project. All routes now are structs that implement the http.Handler interface, so I can use them outside the application router and test them if needed; The router ends up being just a helper for having all routes in a struct, instead of multiple mux.HandleFunc calls in a function, and also handles adding middlewares to all routes; Middlewares end up being just a struct that can return a wrapped HandlerFunc function, which the router calls using a custom/wrapped implementation of the http.ResponseWriter interface, so middlewares can actually modify the content and headers of the response. The refactor had 1148 lines added, and 524 removed, and simplified a lot of the code.
For the encryption middleware, it encrypts all cookie values that are set in the Set-Cookie header, and decrypts any incoming cookie. Also, the encrypted result is encoded to base64, so it can safely be set in the Set-Cookie header after being cyphered.
---
And that's what I worked in around these last three days, today being the one where I actually used all this functionality and actually implemented the OAuth2 process, using an interface and a default implementation that I can easily reimplement for some special cases like Mastodon's OAuth process (since the token and OAuth application needs to be created on each instance separately). It's being interesting learning Go and trying to be more effective and implement things the way the language wants. Everything is being very simple nonetheless, just needing to align my mind with the language mostly.
It has been a while since I wrote one of these long posts, and I remembered why, it takes hours to do, but it's worth the work I would say. Unfortunately I can't write these every day, but hopefully they will become more common, so I can log better the process of working on the projects. Also, for the 2 persons that read this blog, give me some feedback! I really would like to know if there's anything I could improve in the writing, anything that ended up being confusing, or even how I could write the image description for the code snippets, I'm not sure how to make them more accessible for screen reader users.
Nevertheless, completing this project will also help to make these post, since the conversion for Markdown to Tumblr's NPF in the web editor sucks ass, and I know I can do it better.
2 notes
·
View notes
Text
i love how easy it is to fuck around with polls on the tumblr api
36 notes
·
View notes
Text
You probably already know about this but in case you don’t know (like me)
here is a link to many public APIs that you could use in your projects 👩🏻💻✨
https://github.com/public-apis/public-apis
#api#codeblr#coding#learn to code#programming#100daysofcode#webdevelopment#womanintech#development#web developers#website development#software engineering#software development#full stack web development#front end development
44 notes
·
View notes
Text
How can gamification elements be incorporated into a fantasy football app to enhance user engagement?
Gamification elements can significantly enhance user engagement in a fantasy football app by leveraging psychological principles and game mechanics to make the experience more interactive, rewarding, and enjoyable. Here are several effective ways to incorporate gamification elements into a fantasy football app development:
1. Achievements and Badges
Objective: Reward users for completing specific actions or milestones within the app.
Implementation: Offer badges for achievements such as winning a league, drafting a perfect lineup, or achieving a winning streak. Displaying these badges prominently in user profiles or leaderboards can foster a sense of accomplishment and encourage continued participation.
2. Points, Levels, and Leaderboards
Objective: Provide a sense of progression and competitiveness among users.
Implementation: Assign points for various activities like drafting players, setting lineups, and scoring points based on player performances. Users can level up based on accumulated points or achievements. Leaderboards can showcase top performers, driving competition and motivation.
3. Challenges and Quests
Objective: Encourage regular engagement by offering specific challenges or quests.
Implementation: Create weekly challenges such as predicting player performances or achieving a certain number of wins. Completing these challenges can earn users rewards like bonus points, virtual currency, or exclusive content.
4. Virtual Currency and Rewards
Objective: Incentivize engagement and loyalty through virtual rewards.
Implementation: Introduce virtual currency (e.g., coins, tokens) that users can earn through gameplay or purchase. These can be used to unlock premium features, customize avatars, or participate in special events. Reward loyal users with exclusive perks or discounts.
5. Live Updates and Notifications
Objective: Keep users engaged with real-time updates and notifications.
Implementation: Send push notifications for live game updates, player news, or reminders for lineup changes. Notifications can also alert users about upcoming deadlines, new challenges, or opportunities to earn rewards.
6. Social Interaction and Community Features
Objective: Foster a sense of community and social engagement among users.
Implementation: Enable social sharing of achievements, team performances, and league standings. Incorporate chat features, forums, or user-generated content (e.g., player analyses, tips) to encourage interaction and collaboration among users.
7. Interactive Polls and Predictions
Objective: Engage users in real-time decision-making and predictions.
Implementation: Conduct polls on player performance, game outcomes, or fantasy strategies. Allow users to make predictions and compare their results with others. Offer rewards or recognition for accurate predictions.
8. Personalization and Customization
Objective: Enhance user experience by allowing personalization of the app.
Implementation: Offer customization options for team logos, avatars, or themes. Allow users to create custom leagues with unique settings or rules. Personalized experiences can increase user attachment and investment in the app.
9. Time-Limited Events and Contests
Objective: Create excitement and urgency with time-sensitive events.
Implementation: Host special events like draft parties, playoffs, or themed contests (e.g., holiday-themed leagues). Offer exclusive rewards or prizes to participants. Time-limited events can drive spikes in user engagement and retention.
10. Feedback and Rewards Loop
Objective: Encourage continuous improvement and user feedback.
Implementation: Solicit feedback through surveys, ratings, or reviews. Reward users for providing constructive feedback or referring new users. Actively implement user suggestions to demonstrate responsiveness and enhance user satisfaction.
By strategically incorporating these gamification elements into a fantasy football app, developers can create a compelling and immersive experience that not only attracts users but also retains their interest over the long term. The key is to balance fun and competition while providing meaningful rewards and incentives that align with user motivations and preferences.
Website - https://www.sciflare.com/fantasy-football-development/.
#fantasy football app development#fantasy sports app developer#fantasy application development#software development#mobile app development#fantasy football api
2 notes
·
View notes
Text
is there a way to change your blog avatar using the tumblr api? i cant find anything and im not sure if im being silly or if it just doesnt exist
i have this thing on fedi and twitter where my profile picture alternates between a daytime and a nighttime image, and i'd like to set that up here
22 notes
·
View notes
Text
Learn to create a REST API with Laravel and Postman in 9 straightforward steps. Follow our guide to efficiently build and test powerful APIs Read More: https://beproblemsolver.com/rest-api-with-laravel-and-postman/
4 notes
·
View notes