Closed jean-michelet closed 2 months ago
Imho
It is already too much work to maintain the core plugins. I have the feeling that few core deps need more love but we have currently no time.
It would be cooler if you first help with the other plugins before we open a demo repo.
If the core plugins are all green, a demo repo on top would be no Problem.
If the core plugins are all green, a demo repo on top would be no Problem.
You mean code coverage?
Do you have a concrete example you are willing to share or would you like to start one? Maybe we can start from there, have a look and decide further steps
Do you have a concrete example you are willing to share or would you like to start one?
I'd like to start a clean repo, following carefully the doc and trying to find interesting uses cases. Something basic at first, in order to gather your feedbacks and plan what to do next.
But I'd like to know if you're interested before jumping in.
Sorry @Uzlopak, I recently worked on an issue to increase test coverage on find-my-way
and so I understood "all green" = 100% test coverage. I guess you meant I should help you with the issues on core plugins, right?
I believe any contribution can be of value, and this seems to provide good basics to start with fastify
as framework; happy on my side to support you by giving a look at it 🙂
Thanks for the proposal @metcoder95,
It's not urgent so I can gradually work on this demo and looking at ongoing issues to help you with core plugins.
@mcollina, are you open to the idea of an official demo repo on your side?
+3 I would like seeing such an official demo repo using several plugins like maybe autoload, cors, env, helmet, mysql and swagger. With some routes, controllers, etc.
Thanks for the proposal @metcoder95,
It's not urgent so I can gradually work on this demo and looking at ongoing issues to help you with core plugins.
@mcollina, are you open to the idea of an official demo repo on your side?
Hey, I would love to help out with this. What is the status on this project?
I am! https://github.com/fastify/demo here is the repo!
@hpmouton I'm very interested in this project, both personally and professionally, so I'm going to work on it as a priority. I think you'll be able to help by review the first PR I will make, which aims to set up the architecture with simple routing, autoloader, tests and so on.
After this first step, we could create a more feature-oriented roadmap to collaborate?
@hpmouton I'm very interested in this project, both personally and professionally, so I'm going to work on it as a priority. I think you'll be able to help by review the first PR I will make, which aims to set up the architecture with simple routing, autoloader, tests and so on.
After this first step, we could create a more feature-oriented roadmap to collaborate?
Great stuff! Can't wait.
@hpmouton I'm very interested in this project, both personally and professionally, so I'm going to work on it as a priority. I think you'll be able to help by review the first PR I will make, which aims to set up the architecture with simple routing, autoloader, tests and so on.
After this first step, we could create a more feature-oriented roadmap to collaborate?
The demo project for now is just a README file :\ So.. I dunno if Matteo already added more example code without committing or not. Otherwise maybe a PR?
@mcollina maybe you want to be more explicit about what you did already without pushing to the git repo? Since you want to avoid people doing duplicate work. Or did you only setup a README, LICENSE and a gitignore thus far?
As I understand it, Matteo created the repository so we could work on it ourselves. I offered to help create the demo, I didn't ask him to do it 😅
I'm going to push a very basic PR (no db, no auth, no features) this afternoon. Just the basic structure and from there we can create a roadmap and assign the tasks to volunteers.
Does that sound good to you @melroy89?
French hour afternoon ^
As I understand it, Matteo created the repository so we could work on it ourselves. I offered to help create the demo, I didn't ask him to do it 😅
I'm going to push a very basic PR (no db, no auth, no features) this afternoon. Just the basic structure and from there we can create a roadmap and assign the tasks to volunteers.
Does that sound good to you @melroy89?
Ah that make sense. It wasn't fully clear to me what Matteo was going to do.
Sounds awesome! Add me to the review list if you want. I'm from The Netherlands, so our French afternoon, is the same as mine afternoon hour ;P
To be honest i had the same feeling about there is not a "rule" to use fastify but some guidance will be appreciated , more or less, almost all the material i found was created 3 years ago, researching a lot you can see the project is alive but the first contact is not good, like i expressed here #5502 - https://github.com/fastify/fastify/discussions/5502#discussioncomment-9690861, this demo will be very helpfully to understand basics
Fastify has a very good reputation from a purely technical point of view in the Node.js ecosystem, but it's true that communication could be improved.
I sincerely believe that there is room for an official Fastify academy offering courses on Fastify, advanced Node.js and software development more broadly. This would both generate profits to fund the project, as learners would prefer to be trained by the official academy, and potentially convert non-Fastify users who would be attracted by Node's advanced courses...
It could be interesting to offer plans for companies, which would send out a very positive signal.
Finally, the person in charge of communication could be a native English speaker. For example, Symfony is widely used in Europe, but it's an American who manages SymfonyCasts, in partnership with the company behind the Framework.
@jcenlo
I think once I've finished the demo, I'll work on fastify-cli The automatic commented code generation is very educational, I think the current component can be improved, the demo is an opportunity to think about what should be done for most of the projects.
@jean-michelet thanks for the effort, i am designer and developer , i use to work more in frontend, ux, ui , etc... In any case, if there is anything I can help with to spread the project and improve its dissemination and adoption, let me know, I will be happy to collaborate.
i am designer and developer , i use to work more in frontend, ux, ui , etc...
Maybe there are opportunities to contribute here: https://fastify-vite.dev/
if there is anything I can help with to spread the project and improve its dissemination and adoption
Fastify is doing pretty good:
I don't understand why people keep massively downloading Express though, maybe for legacy reasons and work opportunities.... But I know it annoys a lot of developers around me, who would prefer to see Fastiy or Adonis used. I think you'd make a positive contribution by using Fastify for your professional projects, and maybe hiring some developers if you can ^^
I don't understand why people keep massively downloading Express though, maybe for legacy reasons
Yes. Legacy reasons. Porting from express to fastify basically means starting from scratch if you want to use the fastify ecosystem in it fullest with their plugin system.
And then you have tons of people that are simply not aware. I wasn't aware of the existence of fastify, only after much digging and looking for alternatives. The de facto "standard" for a web application framework in nodejs is still express, due to all the media/blog post coverage and just people heard about it. Similar how Google is the most known search engine.
I can share my perspective based on my experience.
I started as a graphic designer, then moved to web design, and eventually into web development. Naturally, the next step was to learn programming, so I chose ReactJS. I found countless courses on creating a MERN stack, all of which used Express.js for the server. There are many resources, articles, and AI tools available to help with Express.
Two years passed, and I had no idea about Fastify. My Express server worked fine, and I didn’t look for alternatives until I needed more power for my project. A senior dev friend suggested Fastify, and I started researching it.
However, I found limited content about Fastify, most of it dated 2-3 years back. There wasn’t much in TypeScript or a solid architecture demo like this project. This gave me a sense of abandonment.
What I want to communicate is that adoption should start from the ground up, with juniors and beginners willing to try new things. To attract them, there need to be tons of articles, examples, and a solid starting point.
Good ambassadors like popular instructors, streamers, or course platforms could help. I often use Udemy and complement it with extensive research. While Fastify is powerful, it's less known because instructors prefer proven tools to avoid student frustration due to lack of resources.
Fastify is young but needs more 'salsa'. It’s not an overnight task, but it needs a bit more push to grow.
What I want to communicate is that adoption should start from the ground up, with juniors and beginners willing to try new things. To attract them, there need to be tons of articles, examples, and a solid starting point.
It's a tricky question. As a trainer, it's your duty to direct juniors towards the wealthiest possible job market. Besides, I don't think I'd recommend specializing in the backend as a junior.
Moreother, Fastify is community driven, so if you want a new feature or your bugs fixed, opening an issue will result in a response like “No, because...” or “Ok, do you want to push a PR?”. You have to get your hands into the code, and the reality is that opensource is difficult even for many experienced developers, both technically and mentally -> accepting to be vulnerable by making mistakes publicly.
I think that adoption by experienced devs and entrepreneurs can have a significant impact, because they're the ones in a position to adopt new technological solutions or have them adopted, and therefore, by domino effect, influence the job market.
So while I share your view that communication could probably be improved, I wanted to bring another perspective.
While Fastify is powerful, it's less known because instructors prefer proven tools to avoid student frustration due to lack of resources.
I disagree with this analysis. Instructors prepare courses they can sell, and most of the market is still express-dominated. As a result, instructors cover express. This has little to do with the content available for Fastify.
Note that Fastify is open-governed and run by volunteers. As a result, if anybody wants to contribute a blog or a tutorial, we are happy to support them. Nobody is blocking it.
Moreover, Fastify is not young by far. It's also used by quite a few major companies worldwide.
Note that Fastify is open-governed and run by volunteers. As a result, if anybody wants to contribute a blog or a tutorial, we are happy to support them. Nobody is blocking it.
Does this mean that these volunteers can do educational business and benefit from community support, like links in the doc to promote them? Maybe experienced and regular contributors. Because creating quality content like video tutorials for free seems really difficult IMO.
@mcollina @jean-michelet I want to apologize for my previous comment and any misunderstanding it may have caused. My intention was to share my perspective as someone very new to Fastify and express my feelings when I first searched for content. I realize now that I spoke without doing thorough research, and I am sorry if I caused any discomfort.
Thank you for the feedback.I still have a lot to learn about Fastify.
I want to apologize for my previous comment and any misunderstanding it may have caused.
Don't worry about that :wink:
Does this mean that these volunteers can do educational business and benefit from community support, like links in the doc to promote them?
It really depends on a case-by-case basis. I don't expect much more than what we did for the book.
@jcenlo I actually did a 1 hour and a half vidoe on the topic in January: https://www.youtube.com/watch?v=x3SG71Ut2tA&t=1s.
@jcenlo
Do you think this type of tool would have helped you adopt Fastify?
@jcenlo
Do you think this type of tool would have helped you adopt Fastify?
I love it. Hopefully that pr will eventually be merged.
And hopefully this pr will also be finalized. Not sure what the open actions points are. If any.
Yep, I am really interested in developer experience and education more broadly. This is why I plan to work mainly on the demo, fastify-cli and the autoloader.
Talking about the demo, first PR is about to be merged, so I created a roadmap issue.
Interested by your feedbacks: https://github.com/fastify/demo/issues/2
@jean-michelet , brilliant , let me try it but look amazing, i will give you feedback in a couple of days i am really busy at the moment, thanks for your efforts
FYI, it is still an idea for now ^^
But I will probably do it.
As the repo exists now, I think we can close this issue. https://github.com/fastify/demo
Agreed
When I was in the PHP ecosystem, I worked with the Symfony framework. They have created a symfony/demo repo using what they consider best practices. I found the perspective of reading the code of a web project considered optimal by the core team very useful and reassuring.
Do you think it's worth it? If so, I'm fully committed to work on it.
I'm not sure what the theme should be, though. It seems that the main type of development in the Node ecosystem are apis.