Share PRNewsAI Software Development
Release date: 20 November 2024
Preface.
Because when I went to college, my study major was computer, so my first job after graduation was also a programmer. With a few years engaged in software development, always in the user needs, product value to challenge the product manager's thinking, and slowly found himself suitable for the transition to product manager.
But after so many years of engaging in product and user growth, I think the biggest legacy is that I never lost my programming skills, using PHP in the early days (completely forgotten), and then Python (fantastic, used it all the way up to now). So, I wanted to share what technologies are used to build PRNewsAI.
Technology Selection
Because we are developing a MicroSaaS product, the mainstream programming languages are Python, HTML, CSS, and JavaScript.
The back-end logic is using Django framework, why did not choose FastAPI, the main reason is that first of all, previously engaged in the development of the use of Django framework, no longer spend the effort to learn a new framework. Secondly, Django framework precipitation so many years, with a very rich third-party software packages, so I am very much in use , such as : django-rest-framework, django-components and so on.
Responsible for the front-end view in addition to HTML, CSS using the TailwindCSS framework, I admit to spend some time learning while developing, but I think it is well worth it, because I think it is from the flexibility or rich UI components, than before the old school Bootstrap is even better.JavaScript using the HTMX framework, which is also very good, no It's also a great framework, with no complex design patterns, and it's just like writing HTML for all kinds of JS requests and interactions, which I like for such a minimalist software concept.
In charge of data storage, I use MySQL, which I am good at, because it involves AI vector database RAG ability, I also learnt Chroma, which is a very good open source AI application database.
Project Source Code
Project source code management is of course inseparable from Github, which is my guarantee of continuous and efficient development. From the module division of the project source code, it mainly includes the following:
- ai: AI suite
- app: WEB application
- config: product configuration
- task: scheduling task
- locale: language pack
- components: product components
- static: static resources
- vectordb: vector database
- templates: HTML templates
The above focuses on task, which is an asynchronous call implemented using Celery software, which helps me handle a lot of AI requests very well, and at the same time, the execution logs can be queried in the django management platform.
Another thing I think is great is components, it uses django-components to achieve the component management, greatly reducing my subsequent development of other products workload, before the development of components can be reused, combined with htmx is really too perfect.
AI suite is my own package of some of the software capabilities , including the implementation of RAG, Agent, Prompt , etc., this also guarantees that I can subsequently reuse .
Final Summary
Why am I sharing my PRNewsAI technology solution?
Firstly, I want to resonate with people who, like me, have experience in Python development to share product development together, and later on I will build the PyShip.Win website to share the code of my project to those who need it.
Secondly, I would like to express that when you choose the path of independent developer, the energy you pay is also a very expensive kind of cost. How do we in product development, the amount of human input is less and less, in addition to the use of AI tools similar to cursor assisted programming, and how to precipitate a high reuse of the code module applied to the back of the product development.
Finally, if you are a PRNewsAI customer, you can understand how to build behind the scenes even though you don't know much about programming techniques? What amazing content this is for customers.