# Need Help to Choose Technology for a Job board Platform Project

**URL:** <https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285>\
**Category:** General\
**Created:** [May 1, 2017, 7:51pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285 "2017-05-01T19:51:01Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![reallynotme](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/reallynotme/32/162696_2.png) [@reallynotme](https://forum.freecodecamp.org/u/reallynotme)\
**Post date:** [May 1, 2017, 7:51pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/1 "2017-05-01T19:51:01Z")

</div>

So basically I was given an opportunity to learn and build a Job Board Project platform like [Upwork.com](http://Upwork.com)

Here are the Features I need to build for the project:

- Project or Job Add by Client and Taking Interview and select candidate and File sharing with User and Client. Messeging Option, Dispute management and ticketing system
- User or Freelancer profile management with Show casing their project
- payment processing, withdrawal and escrow system and reporting,
- Skill & Test for Freelancer or user Etc.

So it would be great if you guys suggest me the overall right tools and technologies with a little bit how to do process. Right now am learning Nodejs and am in begaining stage of Nodejs.

Thanks

---

<div class="post-metadata">

**Author:** ![PortableStick](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/portablestick/32/65591_2.png) [@PortableStick](https://forum.freecodecamp.org/u/PortableStick)\
**Post date:** [May 1, 2017, 8:01pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/2 "2017-05-01T20:01:40Z")

</div>

> [@reallynotme](#):
>
> So basically I was given an opportunity to learn and build a Job Board Project platform like [Upwork.com](http://Upwork.com)

What does this mean? Are you being paid for this? What you’ve described is a **massive** amount of work, especially for someone who’s just learning Node, and I wonder if this is a great opportunity for _you_, or a way for someone else to get a project built for less than they should be paying.

As far as tech recommendations, just about anything should work. I would advise you use a relational database like Postgres or MySQL rather than a NoSQL database like Mongo as you’ll need to be referencing lots of different tables. I’ve recently worked with [SequelizeJS](http://docs.sequelizejs.com/en/v3/) in Node to manage a Postgres DB and found it very easy and featureful.

---

<div class="post-metadata">

**Author:** ![reallynotme](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/reallynotme/32/162696_2.png) [@reallynotme](https://forum.freecodecamp.org/u/reallynotme)\
**Post date:** [May 1, 2017, 10:21pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/3 "2017-05-01T22:21:15Z")

</div>

How about if I do different section or module or part and call API to connect different part?

Project fee didn’t fixed yet. What do your suggestion about project budget?

And for front end which one you prefer React or AngularJS 2? Or both for different part?

Since I’m learning stage it would be much helpful. I think it’s better to choose right technologies for the right work which remove unnecessary hassle in the end.

Thanks for your input and energy you share for me. I appreciate it… 🙂

---

<div class="post-metadata">

**Author:** ![AdventureBear](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/adventurebear/32/74786_2.png) [@AdventureBear](https://forum.freecodecamp.org/u/AdventureBear)\
**Post date:** [May 2, 2017, 1:39pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/4 "2017-05-02T13:39:52Z")

</div>

the basic elements of what you describe are an authentication system with a back end database tos tore preference and other resources.

You can use any stack for this. The above poster suggests an SQL db vs a NoSQL db, and i know either one will work, but don’t know if the reason he gave is a reason not to use a no SQL, I am fairly sure that large projects are using noSQL dbs also.

This is a big project with lots of building blocks and if it is for a client and it’s your first attenpt at these technologies they won’t be getting a quality product.

The back end projects in FCC cover all of the things you’d need for this project, and if you can do them, you can do the one you specified. The FCC user stories are much much simpler and you could do them, then simply chage up your labels and text and names of documents to match a job board rather than a book trade for example.

Good luck

---

<div class="post-metadata">

**Author:** ![PortableStick](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/portablestick/32/65591_2.png) [@PortableStick](https://forum.freecodecamp.org/u/PortableStick)\
**Post date:** [May 2, 2017, 7:54pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/5 "2017-05-02T19:54:16Z")

</div>

> [@AdventureBear](#):
>
> The above poster suggests an SQL db vs a NoSQL db, and i know either one will work, but don’t know if the reason he gave is a reason not to use a no SQL, I am fairly sure that large projects are using noSQL dbs also.

It’s not the size of the project that matters in this case, but I foresee a lot of table joins (get all Projects by User, or get all Users by Projects, or get all Projects and their Users by Project Owner, etc…) and that’s where relational databases excel. NoSQL databases have their own ways of making this sort of thing work, but then you’re not playing to the strength of the technology. So, IMO, it’s better to use a relational DB for this sort of project.

> [@reallynotme](#):
>
> Since I’m learning stage it would be much helpful. I think it’s better to choose right technologies for the right work which remove unnecessary hassle in the end.

My database preferences notwithstanding, you’re not limited by technology here. Just about any stack will work, _if_ you know how to use it. I don’t want to rain on your parade, but…

> [@AdventureBear](#):
>
> This is a big project with lots of building blocks and if it is for a client and it’s your first attenpt at these technologies they won’t be getting a quality product.

^^^^^^^^^^^^^^^^^^THIS

You’re setting yourself up for pain by jumping into a professional, full-stack gig like this. It would be one thing if you were subcontracted by someone who knew the ropes, but you have _a lot_ of learning ahead of you and this is a project that _I_ wouldn’t take on by myself. Good luck.

---

<div class="post-metadata">

**Author:** ![AdventureBear](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/adventurebear/32/74786_2.png) [@AdventureBear](https://forum.freecodecamp.org/u/AdventureBear)\
**Post date:** [May 2, 2017, 8:46pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/6 "2017-05-02T20:46:24Z")

</div>

> [@PortableStick](#):
>
> It’s not the size of the project that matters in this case, but I foresee a lot of table joins (get all Projects by User, or get all Users by Projects, or get all Projects and their Users by Project Owner, etc…) and that’s where relational databases excel. NoSQL databases have their own ways of making this sort of thing work, but then you’re not playing to the strength of the technology. So, IMO, it’s better to use a relational DB for this sort of project.

yeah that makes sense. I havn’t done enough projects in noSQL yet to understand when indexing will make up for a difference in normalizing an SQL db. thanks for the explanation

---

<div class="post-metadata">

**Author:** ![reallynotme](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/reallynotme/32/162696_2.png) [@reallynotme](https://forum.freecodecamp.org/u/reallynotme)\
**Post date:** [May 2, 2017, 10:05pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/7 "2017-05-02T22:05:24Z")

</div>

So far I take counsel support from a lot of guys from different track And most of the guys suggest me to go with Python - Django and MongoDB Stack.

I thought to be use MySql since I’m much more familiar with it than MongoDB.

What do you guys suggestion about this?

---

<div class="post-metadata">

**Author:** ![reallynotme](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/reallynotme/32/162696_2.png) [@reallynotme](https://forum.freecodecamp.org/u/reallynotme)\
**Post date:** [May 2, 2017, 10:08pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/8 "2017-05-02T22:08:58Z")

</div>

And this project is actually given by one of my friend. I’m actually trying to implement his idea. If we gonna make it, then may be we will look for some investors though didn’t make any plan yet.

---

<div class="post-metadata">

**Author:** ![Cowwy](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/cowwy/32/158666_2.png) [@Cowwy](https://forum.freecodecamp.org/u/Cowwy)\
**Post date:** [May 2, 2017, 10:15pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/9 "2017-05-02T22:15:23Z")

</div>

I am going to be frank with you.

I don’t know your current circumstances or how well you know web dev. I assume you know quite a fair bit otherwise you won’t be able to land yourself this project. If this is true, you should already know which technology to use.

What concerns me is that you got such a large project but still debating which technology to use for front-end. My intuition tells me that you just want a quick easy solution to building a large scale project with no money down, in addition to that you just want to piece together fragment of module code and somehow connect them all altogether.

I am not too sure if this is a real project or a friendly suggest project, but I think you are jumping into extremely deep water if this is paid and you are still learning.

Is your client a family member by any chance? 😃

---

<div class="post-metadata">

**Author:** ![AdventureBear](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/adventurebear/32/74786_2.png) [@AdventureBear](https://forum.freecodecamp.org/u/AdventureBear)\
**Post date:** [May 3, 2017, 3:54am UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/10 "2017-05-03T03:54:17Z")

</div>

> [@reallynotme](#):
>
> So far I take counsel support from a lot of guys from different track And most of the guys suggest me to go with Python - Django and MongoDB Stack.
> 
> I thought to be use MySql since I’m much more familiar with it than MongoDB.
> 
> What do you guys suggestion about this?

I would just be retyping my previous reply.

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [January 17, 2021, 8:57pm UTC](https://forum.freecodecamp.org/t/need-help-to-choose-technology-for-a-job-board-platform-project/111285/11 "2021-01-17T20:57:09Z")

</div>

Closed on January 17, 2021, 8:57pm UTC


