osscameroon / jobsika Goto Github PK
View Code? Open in Web Editor NEWCompany ratings and salaries in Cameroon
Home Page: https://jobsika.cm
License: MIT License
Company ratings and salaries in Cameroon
Home Page: https://jobsika.cm
License: MIT License
It would be great to have a .env
file from which the backend URL could be fetched
There is a pagination on the page, when the user click on a page number the data of the page sould be show.
Actually we can browse pages. the current page should be highlighted so that the user can know the current page.
When we launch the application there wont be any companies or jobtitles set in the DB. Therefore we need to set some default values that can be sent to the frontend that users can use to set their companies and jobtitles.
We should probably find a list on the internet of possible jobtitles
and Cameroonian companies
to use
Subtasks:
When the user make a call to the GET
/ratings?jobtitle=<job_title>&company=<company_name>
The response should contain a list of ratings matching the job_title
& the company_name
Right now the frontend did not yet implement the pagination, we should try to get working.
The endpoint response is detailed in #54
The GET /jobtitles
endpoint should return a sorted list of job titles
in the pagination component, when browsing the app from a mobile device, we can just go to the next or preview page. but in some ca when can have more than 100 page and for these case it can be a great idea for the user to known on which page he is.
The GET companies
endpoint returns a unordered list. It would be nice if that list was sorted
The companies
and jobtitles
might be sent by the user in lowercases or uppercase and we should make sure that the value stored follow a certain format.
Example:
If the user send software dEvLoper
we should format it to Software Developer
.
Each words should start with an uppercase and be followed by lowercase letters.
The Get companies/:id
returns the company element whose id
is equal to :id
The top search bar, seems to not be very necessary at the moment. Especially if we consider that it may require us to design and implement an omnisearch functionnality.
The company
field in the salaries
table is currently a VARCHAR(255)
and we would like to change that into a company_id
field of type INTEGER
Additionally the salaries
GET
endpoint should return in its response body the full company
details that corresponds to the salary company_id
Example:
// salaries
// the salaries row in the DB has a `company_id` of 1
// response when status OK
[
{
"id": 0,
"title": "Software engineer",
"seniority": "Entry-level",
"salary": "100000",
"company": {
"id": 1,
"name": "osscameroon",
"ratings": 4.5
}
}
]
Can we try to fix the speed of the autocomplete functionnality
When the user has selected filters, these filters should be applied to the average as well
Check out the #80 description for details regarding that average-rating
endpoint with filters
The company-ratings
GET
endpoint should return a json containing the list of ratings for every companies stored in our DB.
// company-ratings
// response when status OK
[{
"id": 0,
"company_id": 0,
"comment": "oss cameroon is the best company in the world",
"rate": 4.5
},
{
"id": 1,
"company_id": 0,
"comment": "oss cameroon is not well managed",
"rate": 1
},
{
"id": 2,
"company_id": 2,
"comment": "Dikalo is very cool",
"rate": 4.5
},
]
The company-ratings/<company-id>
GET
endpoint should return a json containing the list of ratings for the company whose id is <company-id>
stored in our DB.
// company-ratings/0
// response when status OK
[{
"id": 0,
"company_id": 0,
"comment": "oss cameroon is the best company in the world",
"rate": 4.5
},
{
"id": 1,
"company_id": 0,
"comment": "oss cameroon is not well managed",
"rate": 1
}
]
adding a rating at the frontend level
As the average salary have to be show on the frontend app and because we don't want to habe complexe numerical operations on the frontend to keep et best speed in the app. it is better to habe and endpoint on the api that give bach the average salary that will be show on the frontend.
This Seniority
field should be implementing autocompletion and get the data from the GET
/Seniorities
endpoint
The GET
ratings
endpoint should return the elements corresponding to the query /ratings?page=<page_number>&limit=<number_of_element_per_page>
{
hits: […],
limit: 20,
nbHits: 280,
offset: 80,
}
Implement POST request for :
/ratings
Before working on this issue make sure to validate with the team how the POST endpoint has to be defined
We should try to use the GET
companies
to implement autocompletion that will be triggered when a user type the company_name
The companies
GET
endpoint should be returning a json containing the list of companies stored in our DB.
// response when status OK
[{
"id": 0,
"name": "oss cameroon",
"ratings": 4.5
}]
This endpoint returns a list of cities
This Cities
field should be implementing autocompletion and get the data from the GET
/cities
endpoint
We should try to use the GET
jobtitles
to implement autocompletion that will be triggered when a user type the jobtitle
When the user selects a filter the list should be updated accordingly.
You may need to make api calls using the GET
ratings?company=<company_name>&jobtitle=<job_title>
When submitting the salary the rating selector does not seem to work
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.