126 karma · joined October 5, 2022
I'm excited to share an update about Soul, an open source project I created that acts as a RESTful and realtime server for SQLite databases.
Soul makes it incredibly simple to add a backend to any project - just give it a SQLite database file and it will instantly serve up CRUD endpoints without any additional configuration. When I first launched Soul a while back, its core functionality was just this.
A few months ago, one of Soul's long time contributors approached me about adding authentication and authorization capabilities. We worked together to design an ACL system, and they implemented it. I'm pleased to share that Soul now has robust user authentication and role-based access control built right in.
The authentication works by defining "roles" that map tables to permitted CRUD operations. These roles can then be assigned to users. This allows you to easily control which users have create, read, update or delete access to specific tables. It couldn't be much simpler to set up authorization for your SQLite APIs.
I'm grateful for the contributions that have helped Soul grow. Please check it out at https://github.com/thevahidal/soul to see these new features in action and get started with your own minimal backend. The project is actively developed and I welcome any feedback on how Soul can better serve developers. I hope Soul continues to lower the barriers to adding secure REST and realtime capabilities to projects.
Cheers, Al.
I wanted to share a new Python project I've been working on called Jake. It's an alternative to popular link aggregator services like Linktree and OneLink. Jake leverages the power of GitHub Pages to provide you with a hassle-free way to create your one-link website. The best part? It won't cost you a dime!
With Jake, you can easily showcase all your important links and content in one central hub, neatly organized and easily accessible. Your website will have a sleek URL in the format of "username.github.io," giving it a professional touch.
Jake is completely written in Python and uses the `tinyhtml` library to generate static HTML websites. Simply fill in the `data.toml` file with your information, and Jake will automatically build and deploy your website to GitHub Pages using a GitHub action.
To give you a taste of what Jake can do, I've prepared a demo project for you to explore. Just visit https://thevahidal.github.io/jake and see the potential for yourself.
If you're interested in contributing or want to dive deeper into the project, you can find the Jake repository on GitHub at https://github.com/thevahidal/jake. I welcome all contributions, feedback, and bug reports. Your input will help shape the future of Jake and make it even better.
Thank you for taking the time to read about Jake. I can't wait to see what we can achieve together.
Best regards, Al
I wanted to share with you a new project I've been working on that is an alternative to Linktree and OneLink. It's called Jake, and it offers some great features.
With Jake, you can create your one-link website using GitHub Pages, and the best part is that it won't cost you a dime. Your website will have a cool URL in the format of "username.github.io."
One of the key advantages of Jake is its flexibility. You can add as many sections and items (links) as you want, allowing you to organize your content effectively.
Setting up Jake is a breeze. It only takes a few minutes, and you won't encounter any complex steps. Additionally, Jake is customizable, although the customization options are currently somewhat limited. However, I have plans to introduce more customizable features in the future. You can personalize the theme and primary color to match your style.
I've prepared a demo project so you can see the result: https://thevahidal.github.io/jake.
If you're interested in exploring further or contributing, you can find the repository here: https://github.com/thevahidal/jake.
I would greatly appreciate it if you give Jake a try and share your feedback. If you encounter any bugs or have feature requests, please let me know, and I'll do my best to address them.
Thank you, and I'm excited to hear your thoughts on Jake.
Best regards, Al
In this tutorial, we'll cover essential techniques such as creating the basic shapes, adding intricate details, and applying materials to achieve a realistic look. You'll learn how to optimize your workflow and leverage Blender's powerful features to efficiently create a visually appealing snake plant.
With pun-cli, you can generate a random pun with a single command. You can even search for puns with specific keywords and choose your favorite talking cow character to deliver the punchline.
But that's not all! pun-cli is also open-source and community-driven. You can contribute your own puns to the repository and make everyone laugh. Plus, pun-cli is available on PyPI, so you can install it easily with pip and start punning right away.
Here's a quick demo of pun-cli in action:
$ pun-cli
/ \ | Why was the math book sad? Because it had too man | | y problems. | \ / ================================================= \ \ \ |\_/|,,_____,~~` (.".)~~ )`~}} \o/\ /---~\\ ~}} _// _// ~}
"Novel", as the title suggest is a collaborative storytelling platform, where people write an story together, piece by piece.
If you're feeling creative today, go ahead and add a piece to one of the existing stories, or even create your own story and let the other to contribute to it.
Novel is open source (https://github.com/thevahidal/novel) and you can contribute to its development and also submit any issues that you face.
Let me know what you think, and please send me any ideas that you have to improve Novel.
Looking forward to your stories.
Peace, Vahid.
When you open Novel, you can see some stories created by other folks that you can collaborate on them, or even start your own story and others will join on continuing it.
Let me know if you found any issues, or if you thinks there's some missing features.
Also it's open-source and you can check it out in my Github account.
Thanks!
Soon we'll be tackling new extensions such as middlewares and callbacks. So make sure to watch Soul's project. Here's the link to Soul repo: https://github.com/thevahidal/soul
Let me know what you think about this new feature, And I'll see you in the next one.
For those who are not familiar with Soul, it basically takes a SQLite database file and run a CRUD API on it, so you can have a minimal backend with no code.
Now thanks to this new feature, users can subscribe to changes in a table and whenever a Create, Update or Delete operation happens, Soul will send the realtime data to subscribers.
If you need some examples on how to work with websockets in Soul, you can find a bunch of examples here: https://github.com/thevahidal/soul/blob/main/docs/ws-example...
Please let me know what you think of this new feature and also submit any issues you faced so we can fix them as soon as possible.
Also if you have ideas to make Soul a better tool, please send me your ideas, it'll help me a lot.
Once again thanks for the support and I'll see you in the next one!
Let me know what else we could do to make Soul a better product, or if you faced any bugs or issues. Also I appreciate any kind of contributions!
Thanks again, and I see you in the next one!
Please let me know if you have some features in mind that might make it better. Any PR's welcome too! Here's the repo: https://github.com/thevahidal/armins-coin
Have fun flipping!