First a bit about my background...
I started to get in touch with the devils when I had around 14 years. Yeah, today this is just to late, but 35 years ago this was just okay :-) It was a Sinclair ZX 81 from my uncle. First computer ZX Spectrum and then it did go through Atari ST/TT to PC’s.
I did not study computer science, totally other story, but with about 24 i took the chance to enter in a very early local Internet Provider (with 6 analog Zyxel modems and 128 KB backbone….) as a “Webmaster”.
Thinking back then, I was something like today named “Full-Stack Developer” plus something more. I did web portals and such stuff, with M$ technology, so MSSQL, ASP/ASP.NET, meaning Front-/Back-end, DBA and all the IIS related stuff on the servers (kind of devops :-)) and beside explained customers how to connect with Internet Explorer 1. omg… Let’s pull some decades…
After about 10 years as programmer I founded my own company and got more and more in architecture and then managing tasks and positions. I had to stop to hack things on work side, but always continued to learn, hack on weekends private nonsense stuff. a) because I love it and b) that programmers can not tell me every story ;-)
Last 3 years I work as Head of Software Production and we work there with state-of-the-art stack on really complex software for telecom/messaging industry. But as I wrote before, I am “the manager”, coding and architecture others do.
So finally I decided to do something which is not just nonsense for my trash bin, but usefully for others and even could get a business with the time. I took some idea, which is by far not new, nor it will change the world. It’s a Job Board Engine, which allows professional communities and companies to run the own job board. This goes longer, until there is something to show (must be multi-tenant/lang/culture/tz etc, scalable etc etc)… So I start first with the result, which a engine will “present”, which is a Job Board, thinking in my background, for Full-Stack Developers only.
First I have chosen the “full-stack”:
Backend:
Golang I am in touch since 3.5 years, we use it intensively in company, so I go with Go. Python i put on the list, as I want to get into it as a side-effect. ArangoDB, Redis and Nsq I did some nonsense with in the past.
API: Golang, Chi
Web Server: Golang
DB: ArangoDB (for now just documents, but have some cases in mind for graphs)
Redis for Sessions
Nsq for Queue
Some Scripts in Python
Frontend:
I did some private stuff in last years with React/Redux and Angular 234567… and much probably I will do admin section of Engine with Angular. I really love Typescript over ES6 and for complex projects Angular can be a good fit.
But for the board front end I had to choose between the known to me React or the unknown to me Vue.Js. And I had chosen to take another side-effect goody with me and go with Vue.Js. Until now I am just amused. I really got to fast results, mainly because of really good documentation
End User Portal: Vue.JS, ES6, Bootstrap 4
Admin Section: Probably Angular 8
Something to see? oh yes!
So I started over the last 5 weekends and built following:
Portal with Listing of Full-stack Developer Jobs, with client-side filter/sorting/paging
Job Submit Form with Email Notification to admin
Subscription for Job Newsletter
Simple Blog “Engine”
Some SEO related work
Social Sharing for Jobs and Blog Posts
All is hosted on a bare-metal server, using Docker/Rancher for deployment and as part of path to scalability.
What is not visible is, that I already implemented on API side own Authentication/Authorization Service with Privileges and Roles, Signup/Login/Me Endpoints for admin section.
Have a look please :-)
Fullstack Developer Jobs: https://fullstackjob.com
And yes, the “OMG, I love to develop software” title is so f… true. I decided to go back to my roots, out of this management stuff, getting some fun back on my old days. If you wanna learn something out of this post. I would say it’s the following:
Good Developers, Programmers, Software Architects are not coming from a one time effort to do some degree, but to learn and practice all the time. And this is fun, if you love to hack :-)
Btw… Beside https://fullstackjob.com/blog I run since 2 years the #Golang Blog: https://golang.ch ( Twitter https://twitter.com/golangch )
Thanks for reading and sorry for my “learning by doing” English (yeah, even that I did not study, but with less good results then with software development kkkk)
(more about/contact me: https://www.linkedin.com/in/stefanwuthrich/)
Original Post: https://medium.com/@golangch/omg-i-love-to-hack-how-i-built-fullstackjob-com-with-go-vue-f561680c6ceb
Top comments (5)
While i really enjoy reading your architecture document, i think it is a tony bit overengineered 😁. Dont get me wrong, working on complex architectures is a joy for me too, especially with queue and websocket related stuff 😍 But looking at your initial requirements, it should be obvious that you dont need all these, maybe accidental, complexity. You could all do this with a simple MVC for example, most likely it will serve your needs for the next two years. Keeping an eye on the code modularity should be all you need. Its hard to not use the technology you love, for the job it does not fit.
I really love this angular/vue/react and complex architecture stuff but i am often getting hit by simply not choosing the right tool for the right job, you know?
I dont know Go, but on my perspective a web framework like Spring boot, Bootstrap and postgres would did the job in one day - or? But after all its about what we love in doing, so if it is a side project, overengineer as much as you want 😍👌
Hi Niklas
So, yes, I agree, mostly.
But fullstackjob.com is just my first MVP of the underlying Board Engine I am building. And for this project there are some topics like scalability, multi-tenant, white-labeling where a bit more complex architecture is needed. To build just the board as it is now for sure nothing of all that or a graph is needed :-)
And yes, between us... a bit it's about loving doing new stuff.
But from my "day-job" I know about the need to control this part of myself. At the end everything needs to make sense :-)
Agree, but ;-)
Will answer you tomorrow... On the street
Dear Stefan;
I think what stuck out to me is the tone of your article; I get the feeling you were really excited to do this project. It also got me excited to go and try something for myself. I saw your job board and the interface you're using; it flows. I like it a lot.
Dear "Aum" :-)
You can not imagine how happy your comment makes me :-)
This one is for you twitter.com/fullstackjob/status/11...
Great that you like my articles, even that my English is ugly as hell and of course my side project fullstackjob.com
Btw... Started yesterday on a new bunch of features for IT Recruiters
Cheers
Stefan