RemoteCareer 🦁 - Job board that helps nature and animals 
Published: 2020-01-24 21:37:05

![RemoteCareer logo](https://thepracticaldev.s3.amazonaws.com/i/yfwcrke404sdxgy9huiv.png)
[Remote Career](https://remotecareer.org)
Client repo: [Remote-Career-Client](https://github.com/gokayokyay/remote-career-client)
Server repo: [Remote-Career-Server](https://github.com/gokayokyay/remote-career-server)

#### How does it help nature and animals?
Well, since this is the beginning, it doesn't. But the main idea of this app is to donate 90% of every sale to <b>WORLDWIDE</b> animal charities. 10% is for the future DB/server/domain costs.

#### Story of the app
As a new grad I was looking for remote jobs, came across few job boards then something got my attention. The price to post a job was in three digits! It seemed too high for me then I thought - like every jealous developer - "I can create this web app too.". But it's a side project for me so I want it to be useful for everyone.

I've learned React three years ago, so it was an opportunity to refresh my knowledge and learn new tools (like Next.js). For the backend I went [to this repo](https://github.com/the-benchmarker/web-frameworks) and picked a Node framework, and it was something called Restana but somehow it lost its rank now. But it's the framework I chose, it's somehow an Express.js alternative.

####The Stack

![Next, React, Node](https://miro.medium.com/max/966/1*8g-FaXXbEUFP11oZD1kfaA.jpeg)
> credits to: [here](https://engineering.cimri.com/a-simple-next-js-project-structure-1c8e90088209)

#####Frontend
- React
- Next.js
- Material-ui
- Redux
- Zeit's Now for deployment

#####Backend
- Restana
- Redis - for ip blocking
- Nodemailer with Mailgun
- MongoDB
- Mongoose
- IBM Cloud Storage as file service
- Pino for logging
- Heroku for deployment

####Process of developing
So I thought there will be three main pages of the app, Home page where posted jobs are shown, Job Page where people can read the description and requirements, and finally Post a Job page where companies can post their job openings.

Then I designed these pages with [Figma](https://www.figma.com/). I wanted a very simple design, because I'm not a designer.

#####Homepage
![Home page](https://thepracticaldev.s3.amazonaws.com/i/3hi3w444bwd3ax3lg5if.png)

I wanted a hero component, a navigation bar and job listing section for the home page.

#####Post a job
![Post a job page](https://thepracticaldev.s3.amazonaws.com/i/np7j9bop4dwiqw84uerr.png)

For the posting page I wanted it to be reactive, I want the job card to be updated as you change fields.

#####Job
![Job page](https://thepracticaldev.s3.amazonaws.com/i/4estwdok0rscpn8g6tx5.png)

This page needed to be simple and template-like.


#####Other pages
When these pages were finished, I needed some other pages like Editing page, Admin page etc...

But for the MVP I omitted Admin page functionalities.


####Thoughts about tools
#####Next.js
Very useful tool. Improves performance a lot and SSR by default. But in my opinions, ecosystem can be improved. Adding material-ui was a total pain so I started with official example.

#####Now by Zeit
Another very useful tool by Zeit. It's amazing. Deploys automatically with every commit to master branch. The only con of this tool is DNS settings. It should be able to be configurable within the web app, not only from the cli.

###Final words

I want this app to be ours, people who want to help animals/nature. So that I made this app open source available [here](https://github.com/gokayokyay/remote-career-server) and [here](https://github.com/gokayokyay/remote-career-client). Feel free to contribute 💚💚.

It would be awesome if hiring companies post their job offer at this website, and it's free until I found someone to be funding manager of the project 😋.

Btw, don't forget to checkout the first job offer [here](https://remotecareer.org/jobs/5e28de8e9e47550004c5690e).

Feel free to contact with email: [gokayokyay@hotmail.com](mailto:gokayokyay@hotmail.com)