kalpas innovations pvt Ltd. is looking for Node JS developer to join our dynamic team and embark on a rewarding career journey
We are seeking a talented and experienced Node.js Developer to join our dynamic team. As a Node.js Developer, you will be responsible for developing server-side logic, optimizing performance, and ensuring the responsiveness of our applications. You will work closely with our front-end developers and other stakeholders to deliver high-quality software solutions.
Roles and Responsibilities:
Backend Development:
Design, develop, and maintain efficient and scalable server-side applications using Node.js.
Implement robust, reusable, and modular code to support our applications.
API Development:
Build and maintain RESTful APIs to enable seamless communication between the front-end and back-end systems.
Collaborate with front-end developers to integrate user-facing elements using server-side logic.
Database Management:
Utilize and optimize database systems, such as MongoDB, MySQL, or others, to ensure data consistency and reliability.
Design and implement data storage solutions as per project requirements
Performance Optimization:
Identify and address performance bottlenecks to ensure optimal application speed and responsiveness.
Conduct regular code reviews and performance tuning to maintain high-quality standards.
Collaboration:
Work closely with cross-functional teams to understand project requirements and deliver solutions that meet business objectives.
Collaborate with front-end developers, UI/UX designers, and other team members to ensure seamless integration of components.
Security:
Implement security best practices to safeguard data and ensure the integrity of the applications.
Stay updated on the latest security trends and technologies to proactively address potential vulnerabilities.
Documentation:
Create and maintain technical documentation for the codebase, APIs, and other relevant aspects of the projects.
Collaborate with the team to ensure knowledge transfer and documentation accuracy.
Requirements:
Minimum of 1 year of hands-on experience with Node.js development.
Strong proficiency in JavaScript and familiarity with ES6+ features.
Experience working with database systems, such as MongoDB, MySQL, etc
Knowledge of RESTful API development and integration.
Understanding of asynchronous programming and event-driven architecture.
Familiarity with version control systems, preferably Git.
Excellent problem-solving skills and attention to detail.
If you are a passionate Node.js Developer with a proven track record of delivering high-quality solutions, we invite you to apply and be a key contributor to our innovative projects. Join us in shaping the future of technology
Build a bookkeeping service where there are three models namely Books, Users and Libraries. A User can either be an Author or a Borrower, a Book is written by some User (Author), and is currently owned by a certain library and is currently borrowed by a certain user (Borrower).
Books:
GET /api/books Retrieve a list of all books
GET /api/books/:id Retrieve details of a specific book by its ID API should include the details of the Library, Author and Borrower associated with the Book.
POST /api/books Create a new book entry
PUT /api/books/:id Update details of a specific book by its ID
DELETE /api/books/:id Delete a book by its ID
Users:
POST /api/users/register Register a new user (both authors and borrowers)
POST /api/users/login Authenticate user and generate JWT token
Borrowing:
POST /api/borrow Borrow a book against a charge
PUT /api/return/:id Return a borrowed book by its ID
Libraries:
GET /api/libraries Retrieve a list of all libraries
GET /api/libraries/:id Retrieve details of a specific library by its ID API should include the details of all the Books owned by the Library, each Book object should include the details of the Borrower.
POST /api/libraries Create a new library
PUT /api/libraries/:id Update details of a specific library by its ID
DELETE /api/libraries/:id Delete a library by its ID
Library Inventory:
GET /api/libraries/:id/inventory Retrieve a list of books available in a specific library
POST /api/libraries/:id/inventory Add a book to the inventory of a specific library
DELETE /api/libraries/:id/inventory/: bookId Remove a book from the inventory of a specific library by its ID
Constraints:
Each Book object should have an image field that stores the reference to the Book Cover stored in Firebase.
All the APIs should check for authorization All endpoints except registration and login should require a valid JWT token for access.
The APIs should be multilingual. ie, the error or success messages should be in the language of choice of the user English and Hindi being the two languages.
Only authenticated users with appropriate roles can add or remove books from the library inventory.
Evaluation Criteria:
Code quality The code should be concise and readable.
API performance Optimized API logic will be highly regarded.
Security & Testing APIs should be stable and secure, the false cases should be tested and addressed accordingly.
Submission process:
Create a Git repository containing your code and commit your changes. Keep the Repo Public.
Include a README.md file with detailed instructions on how to run the application locally, including setup and usage instructions.
Share the repository link with the hiring team for review.
Create a postman collection and share the Import URL in the form below.
Host the application on freely available platforms and share the API endpoint in the form below.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.