Hi,
I would recommend reading this thread. The topic discussed there is related to what you are asking here.
Hope it helps.
Thanks
Hi,
I would recommend reading this thread. The topic discussed there is related to what you are asking here.
Hope it helps.
Thanks
Below is my own professional history to give some context to my current skill set. I have been a front-end dev for 18 years. My tools of choice are:
I first of all would like to become a better and more 'full stack' developer, and I have a business idea that will hopefully allow me to move in this direction. The queries I have will result in which approach I take here. One of the most important aspects to me is the system being 'future proof'. If successful I know I will eventually bring additional developers on board, and they will likely be better developers than me! I want to avoid them having to rebuild the system and would like it to be something that they can just expand and improve on.
The business which I'd like to create is the following (in a nutshell), I have ideas for many more features, but this is how I'd like to begin:
Web-based system for gym management & marketing. Specifically a class-based gym
Important requirements
TIA to anybody that can provide some guidance on where to start here.
If you've already worked with JavaScript, I'd recommend sticking with it! You can do everything you described with JavaScript, and a framework like React might be useful for building an application like this, and keeping it easier to maintain and extend.
Before sharing my advice for learning these new skillsets, I want to call out that there are a number of existing startups in this space (try Googling for "gym CRM" and you'll see a variety of results like PerfectGym and GymMaster) - I previously worked at Twilio and heard of quite a few customers with very similar offerings to what you've described. That's not to say there isn't room for improvement, nor that you shouldn't build this application to learn/practice new skills (practice is a great reason to build a small software project), but know that from a sheer business-viability perspective, this is a crowded space.
Back to learning suggestions: I have a subscription to Frontend Masters and would highly recommend it. The courses are great, but keep in mind that it takes time to learn a new skill - so mentally committing to something like "I will spend 10 hours per week learning React" (or whichever framework/tool you need to), is always the first step.
Two courses you could consider on FEM are Scott Moss' "Build a Fullstack App from Scratch (feat Next.js)" or Kent C Dodds' workshops on Remix Fundamentals and Advanced Remix. Next.js and Remix are two modern JavaScript frameworks with active communities. Personally, I like Remix better (it just "clicked" more quickly for me), but Next.js has been around for a few more years and is more production-tested.
Thanks so much for taking the time to provide me with your advice, Stephen. I appreciate your input and understand that the market for gym CRM's is quite crowded. However, I believe my product will offer a unique solution to some of the issues that current platforms do not address and my gym market is very niche which will help me stand out. I will definitely check out Frontend Masters and consider the courses you recommended. I will also commit to spending a significant amount of time learning React or another framework to improve my skills. Thanks again for your help!
I agree with Stephen, JS allows you build a fast and highly scalable backend using Node that can easily be deployed in any serverless architecture PLUS it will also allow you to build a solid Front-end using React. Personally I'm not a big React fan, but I don't think there is anything you can't do with it. Community only keeps growing and growing.
Personally, most of my career I've been working on enterprise level applications, and the framework of choice has always been Angular. But again, frameworks, libraries, these things are only tools. Hope it helps! :)
How do you rate Dash for front end development compared to React?
Sticking with JavaScript and exploring frameworks like React is a solid strategy. To learn new skills, consider Frontend Masters and courses like Scott Moss’ on Next.js or Kent C. Dodds’ Remix workshops. Consistent practice will be key.
you've already worked with JavaScript, sticking with it is a great choice! React, in particular, could be very helpful for building and maintaining your application, especially in a crowded space like gym CRMs.
If you're concerned about future-proofing your project, I'd recommend using something like RedwoodJS. It makes it very easy to get a project started with the latest and greatest -- TypeScript, React, GraphQL, and Jest for testing. These are the kinds of tools that most front-end application developers like to see these days. It is easy to get started but from there, you'll have to work a bit to learn, fortunately there is a lot of support online for these technologies. There are several competitors to Redwood, each of which has slightly different popular tools include. My recommendation is more to find something like Redwood than to go with Redwood itself. I recommend you do your own research and pick the one that's best for you.
For future-proofing your project, consider using frameworks like RedwoodJS, which integrates popular tools like TypeScript, React, and GraphQL. While it’s user-friendly, you'll need to invest time in learning the framework. Explore similar options to find the best fit for your specific needs.
Future-proof your project, RedwoodJS is a fantastic choice. It offers a modern tech stack and simplifies starting new projects with cutting-edge tools, ensuring your app is ready for tomorrow's challenges.
Hello, it's, good to finally find a community. I am looking for the best route. I just finished studying HTML and I am looking for the best route. I just finished HTML training and I succeeded! so, I want to progress. I have two accredited courses that I have on the shelf ready for learning and don't know which path to take. should I jump right into Python or do I even need to study it first? My other class is CSS 3, should I take that first? Or should I study something else first and come back to it later? Eventually, I would eventually like to be a full-stack developer if I don't run out of time. I am 52 years old. I learned advanced basics when I was 12 but that was a long time ago. And what else do I need to study? I know nothing about anything except basic HTML and looking for a path.
Thanks
My Advice to you complete the Css 3 first then practice practice practice more and more then go toward to learn JavaScript then after that you become front end but there are some decorators you missed it but don't worry , then select language to learn it to back-end so i suggest for you python more powerful and easy to learn and don't take time to learn it (basic, practice on it some projects, then learn OOP using python on freecodecamp then make 5 projects, then learn DSA, finally enter DB and select flask or django then link between front-end and back-end)
You can always bet on JavaScript, you say that you want to be a full-stack developer, so you will never go wrong with that. For a path I would recommend choosing a project you want to build, as many programmers say - "Everything will eventually be built in JavaScript" - choose a project and try to jump right into it, see as many references as possible, watch youtube videos, but most imporantly!! Build something you are passionate about and have fun! :)
Hi,
I'm hoping to get some much-needed tech-stack advice. I have been in UX/UI design for ~11 years now. No hands-on programming until very recently, I learned the basics of Python/CSS 3/HTML5/Django/Flask.
I am looking to work in early-stage startups, helping to build tech/software design. Where I would essentially need to wear multiple hats.
The tricky part for me has been understanding which technology I should focus on learning.
I don't really care at all about where the jobs are. I care more about these priorities (in order):
Basically, I am looking to be enough of a do-it-all type developer, that gets the MVP tech stack far enough along with the company to get funding and get the dedicated resources we would need for whatever the technology is...
Any advice is appreciated! Thanks! - Brian
I would advise you to learn a good amount of Javascript and/or Typescript. Start with one or the other. Then, start learning a framework like Vue or React (I'd recommend the latter), and if you've gained enough knowledge about core topics, get on to learn a meta framework like NextJS (which is based on React).
For styling, I would recommend to learn at least the basics of CSS before you move on to a framework like Bootstrap or Tailwind. You mention you already have so that's good. I would definitely invest time in understanding Grid and Flexbox, as well as writing media queries for responsiveness if you haven't so. When you're confident writing your own CSS, I could definitely recommend Tailwind as framework as that still allows you to implement your own styling and designs, instead of using a predefined UI Component-based framework like Bootstrap. I've been using it for a few months now and when you get the hang of it, it's really time efficient.
One tip: try to define your tech stack now, and focus on mastering those tools instead of being a jack of all trades. It's hard to master tools/topics if you're not enough invested in learning those because you want to learn too much. For example, I would either pick Django or Flask in your situation. My preference goes to Django. If API support is needed, then use the Django REST Framework for example.
Also, best way to learn is to just build things. Try building your portfolio website or a to-do app. Also, try to build something that retrieves data from an API.
Yeah, nextjs probably has the best frontend among all the development tools, but i dont recommend using it for backend, you can continue using django/flask since i think they are more development ready, even tough nextjs can do great things in its backend too
Yeah, nextjs probably has the best frontend among all the development tools, but i dont recommend using it for backend, you can continue using django/flask since i think they are more development ready, even tough nextjs can do great things in its backend too
Master JavaScript or TypeScript first, then choose a framework like React. Learn the basics of CSS, focusing on grids, flexbox and media queries before styling with Tailwind. Define your tech stack to avoid getting stuck, and create projects like a portfolio or a to-do app to apply your skills and gain practical experience.
Prototype to code would be better with teleport.hq. Figma is ok for the prototype itself but to get the code you would still end up using the Teleport plugin. Either way the code generated is always moderately hacky, you should keep learning JS and HTML so you can fix up odd looking parts yourself.
Figma is excellent for creating prototypes, but Teleport HQ's plugin is crucial for converting designs into code. Keep in mind that the generated code may need manual adjustments for the best quality. Continuously improving your JavaScript and HTML skills will allow you to address any issues and guarantee a polished final product.
Depends on what options and technologies you have available, and how do you deploy your website.
There are CMSs which update existing static pages through FTP: You provide access credentials, mark editable parts of your HTML in a markup, and then edit the content through the hosted CMS. I know two systems which work like that: Cushy CMS and Surreal CMS.
If the source of your site is versioned through Git (and hosted on GitHub), you have other options, like Netlify CMS, Spinal CMS, Siteleaf, Forestry, or CloudCannon. Some of these also need you to use static site generator (like 11ty, Jekyll, or Hugo).
If you have some server-side scripting support available (typically PHP) you can also consider some flat-file based, server-side systems, like Kirby CMS or Lektor, which are usually simpler to retrofit into an existing template than “traditional” CMSs (WordPress, Drupal).
Finally, you could also use a desktop-based static site generator which provides a user-friendly GUI, and then locally generates and uploads the website. For example Publii, YouDoCMS, Agit CMS.
Certvalue is the top ISO 27017 Consultants in oman for providing ISO 27017 Certification in oman, Muscat ,Quorum,Saiq and other major cities in oman with services of implementation.
https://www.certvalue.com/iso-27017-certification-in-oman/
E-commerce SEO ( search engine optimization ) is an optimization of e-commerce websites to bring qualified organic traffic. An e-commerce SEO consultant helps your business rank higher to have the exposure it needs to grow.
https://thehypedigital.com/e-commerce-seo-consultant/
That's great! Since you own "https://cheeserecipies.com/", would you like to share more about what your website focuses on? It would help me provide more tailored assistance.
The Syna World Clothing for the greatest product from the past, present and future. Shop New and Synaworld Hoodie, Tracksuit and accessories.
If you're looking for a simple to-integrate CMS, Contentful is a good option. Their free option is quite useful so you don't have to pay unless the website requires a lot of content, assets, etc. To connect to it you just need to make a request from the website and decide which content you want. I believe it uses graphql for getting the content.
Hey everyone, I have a matrix chart drawn in HTML5/CSS 3 dominantly using CSS grid. I would like to add interactive features and am unsure about the best tool. My programming knowledge is limited to 2 semesters of Java in college, so I'd have to learn the language as I go. I am open to anything, but the selected languages would be useful in future projects.
Here are the features I am attempting to add to the site linked as my blog:
Assign over 120 attributes each to over 400 elements (probably in a DB)
Procedurally position elements in a matrix chart based on user-inputted filters (filtering and searching)
Procedurally position matrix elements based on attributes weighted by user-input
Change style of elements based on user input (highlighting)
Allow saving matrix chart states to be revisited or shared
Provide a user-friendly interface for users to submit the above input
Build several columns or matrices that are separate but related and seamless to the viewer
PyCharm + Python + Flask + Jinja2 is enough to build web server/ajax and JavaScript + JQuery (maybe React). You can write small easy application but also extreme high scalable application.
I know Java but it need 4x time more code and code is not clear (too much forced use of @decorators) - too complex and takes more memory :)
Remember if you code in Python it is easy to code in Java but if you code in Java you must understand that Python is much more flexible and powerful - also easier to learn.
Thanks! Are you recommending PyCharm + Python + Flask + Jinja2 for the backend and JavaScript + JQuery for the frontend?
I was a little hesitant about Python for a app logic because my initial experience with Django was not great. I see Flask may be a better fit. Python is also a language I can apply to other projects better than Java.
Django is very old framework and little slow - if you want something modern faster try Jinja2. Django is not bad for ORM but Jinja2 is better for cloud or no SQL since more clear and faster - also more extensible with macros (Django is not bad still). If you know Django Jinja2 it is similar.
If you are goot at JAVA language, JHipster tool can generate pretty much all structures. Then, you can focus on backend logic and frontend implementation.
https://www.jhipster.tech/
If you choose Python,
Django is powerful framework but it have longer learning curve as it is big framework than Flask.
As Flask is microframework, very intuitive and easy to start, but you will need to configure manually some packages when your application grows.(e.g. flask-login for user features )
Yes, Pros and Cons
Python + Flask as backend is good option for you as @Cezary Wagner mentioned.
PyCharm is IDE tool, VS code can be alternative.
Jinja2 is popular template engine in python world. (https://en.wikipedia.org/wiki/Template_processor).
Not sure how big your data is for 120*400 matrix chart. According to data per page, this can be bottle neck of between your application and DB. Of course this will depend on how many users will access your app concurrently. Depends on your performance need, you might need to change some stack.
Aren't you comparing apples to "carts of apples"? Jinja is a templating library, while Django is a complete framework with its own ORM, routing, templating, config engine etc. Flask is a "microframework", it started out as an April fools joke, but caught traction pretty fast. Despite the appearance, Flask is not a "true microframework" though (it uses not-so-micro-sized libraries like werkzeug, jinja to do the actual heavy lifting... hence the joke) Flask was an answer to another quite popular microframework named "Bottle". Armin had wanted to add some features to Bottle, the maintainer refused, so he created "Flask".
I like Flask, but mostly for trivial, smallish projects. If you need more features then you're better off with Django and it's massive ecosystem. It's fun to roll your own solution for the first time, but it quickly gets boring. At the end of the day, developer productivity is the key.
There are two main facets to interactivity - whether your frontend (Javacsript, HTML, CSS) is programmed to behave dynamically based on events and on any other preprogrammed behavior, and based on what information your server can send and receive and compute for the benefit of your frontend. For the former (a dynamic frontend) you'll need to use Javascript (or Typescript) in some form. For the latter (a server with custom behavior and data endpoints beyond just sending static HTML etc. files), any of the major languages can serve this purpose. However, if you are going to create a dynamic frontend with Javascript and don't know that language at all, then learning it will be a task in itself, and without knowing a backend language well either (probably the case with only two semesters of one language a while back), you ideally don't want to also have to learn a whole other backend language on top of that. That's where NodeJS comes in. It has essentially the same exact syntax as frontend Javascript (just different native libraries). Since you already need to learn Javascript to make the frontend behave dynamically, if you also want a custom backend, NodeJS will spare you a big learning curve on top of the existing learning curve of learning JS. NodeJS is also highly performant for low-compute high-volume requests, i.e. handling a large barrage of requests if each doesn't require a lot of complicated behavior on the backend. A lot of coding bootcamps teach this, commonly called "full stack JS", for this reason - it allows someone to learn a constellation of full stack web development skills from the mastery of one language syntax. NodeJS + ExpressJS is also one of the easiest backend languages + REST API library to use to build a backend. Look up "NodeJS Express Hello World", and you'll be shocked at how easy it is to build a basic server. As far as frontend frameworks go, if this project is very limited in scope, JQuery could be fine, but I'd highly recommend learning React for something more involved - it will be immensely easier to manage and maintain, and generally lends itself to much better and more intuitive code organization. Its use of components will also be somewhat familiar and intuitive from the object oriented programming you learned through Java. Create React App is great tool to use, especially when first learning React, to avoid all of the finicky nonsense in configuring transpilation etc.
Server side
We decided to use Python for our backend because it is one of the industry standard languages for data analysis and machine learning. It also has a lot of support due to its large user base.
Web Server: We chose Flask because we want to keep our machine learning / data analysis and the web server in the same language. Flask is easy to use and we all have experience with it. Postman will be used for creating and testing APIs due to its convenience.
Machine Learning: We decided to go with PyTorch for machine learning since it is one of the most popular libraries. It is also known to have an easier learning curve than other popular libraries such as Tensorflow. This is important because our team lacks ML experience and learning the tool as fast as possible would increase productivity.
Data Analysis: Some common Python libraries will be used to analyze our data. These include NumPy, Pandas , and matplotlib. These tools combined will help us learn the properties and characteristics of our data. Jupyter notebook will be used to help organize the data analysis process, and improve the code readability.
Client side
UI: We decided to use React for the UI because it helps organize the data and variables of the application into components, making it very convenient to maintain our dashboard. Since React is one of the most popular front end frameworks right now, there will be a lot of support for it as well as a lot of potential new hires that are familiar with the framework. CSS 3 and HTML5 will be used for the basic styling and structure of the web app, as they are the most widely used front end languages.
State Management: We decided to use Redux to manage the state of the application since it works naturally to React. Our team also already has experience working with Redux which gave it a slight edge over the other state management libraries.
Data Visualization: We decided to use the React-based library Victory to visualize the data. They have very user friendly documentation on their official website which we find easy to learn from.
Cache
Database
Infrastructure
Other Tools
Communication Slack will be used as the primary source of communication. It provides all the features needed for basic discussions. In terms of more interactive meetings, Zoom will be used for its video calls and screen sharing capabilities.
Source Control The project will be stored on GitHub and all code changes will be done though pull requests. This will help us keep the codebase clean and make it easy to revert changes when we need to.
We exclusively use HTML5 instead of XHTML (or even older) HTML-versions. We like the new unity that HTML5 offers and try to keep our code according to the conventions. HTML5 and CSS 3 are natural partners and so it may not be surprising, that we're also using CSS 3. In most projects though, we extend the (already ubiquitous) standard features of CSS 3 through the use of SCSS, which enables us to get better insights into the aggregated, effective rules that apply for specific elements.
Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts: