Is an open job board API
This project is built with NodeJs(ES6), Express and a sprinkle of other supporting cases. see technologies section for more details.
- git clone https://github.com/vic3king/taikai-project.git
- cd taikai-project && npm install
- create a .env file using details provided in the .env.example
- after that run npm run migrate and npm run seed
- npm run start:dev to launch development server and access endpoints e.g [localhost:3000/v1](http://127.0.0.1:3000)
To run tests, run the command npm run test
Hosted api can be found here click to view
Request | End Point | Action |
---|---|---|
POST | / | Welcome screen |
POST | /v1/users/create/ | Creates a user and subscribes them for notifications |
POST | /v1/users/toggle-subscription | With the right parameters it subscribes and unsubscribes an existing user |
POST | /v1/jobs | Create a new job opening |
GET | /v1/jobs | Get all jobs(can return based on active params) |
GET | /v1/jobs/search | Search by a skill title, location address or job title. e.g ?filter=CSS |
PATCH | /v1/jobs/:jobId | Update properties of a job |
DELETE | /v1/jobs/:jobId | Deletes a job |
Schema Diagram can be found here click to view
- NodeJS is a JavaScript runtime built on Chrome's V8 JavaScript engine
- Express JS A minimalist web framework
- Postgres The World's Most Advanced Open Source Relational Database.
- SequelizeOrm Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
- Jest Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
- Supertest SuperAgent driven library for testing HTTP servers
- BullJs The fastest, most reliable, Redis-based queue for Node. Carefully written for rock solid stability and atomicity.
- ESLint provides a pluggable linting utility for JavaScript.
- Prettier Prettier is an opinionated code formatter with support for Javascript
- Airbnb - Airbnb maintains a very popular JavaScript Style Guide
- Babel A JavaScript compiler for converting codes written in ES6 or JSX to ES5 that is supported by many browsers
- Akaniru Victory - Initial work - Vic3King