HariO7 / enverx-be-developer-assignment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

N|Solid

EnverX offers a simple and convenient platform to fund early-stage projects and trade future carbon credits.

Assginment For Backend Developer Role

Instructions

- Fork this repository
- Take a fresh `pull`
- Create a `development` branch
- `Push` the updated code after task completion
Note: Make sure to add proper `commit` messages

Task Requirements

  1. Create a RESTful API for a simple blog application.
  2. Use Node.js and Express.js as the backend framework.
  3. Implement CRUD (Create, Read, Update, Delete) operations for blog posts.
  4. Store the blog posts in a dB
  5. Include validation for the API endpoints to ensure data integrity.
  6. Implement error handling and return appropriate HTTP status codes.
  7. Use Git for version control and host the project on GitHub.
  8. Write clear and concise documentation on how to set up and use the API.

Functional Requirements

  1. Set up a new Node.js project and initialize it with a package.json file.
  2. Create the necessary Express.js routes and controllers for CRUD operations on blog posts.

GET /posts - Get all blog posts. GET /posts/:id - Get a specific blog post by ID (Apply filters like gender, userId, age, etc). POST /posts - Create a new blog post. PUT /posts/:id - Update an existing blog post. DELETE /posts/:id - Delete a blog post.

  1. Implement validation for the API endpoints to ensure the data is correct and complete.
  2. Handle errors gracefully and return appropriate HTTP status codes (e.g., 404 for not found, 500 for server errors, etc.).
  3. Test the API endpoints using a tool like Postman or cURL.
  4. Write a README.md file with instructions on setting up the project, running it, and using the API.
  5. Initialize a Git repository, commit your code regularly, and push it to GitHub.
  6. Optionally, include any additional features or improvements you think would enhance the API.

Timeline

The estimated time to complete this assignment is 6-7 hours, but it may vary based on your familiarity and experience with the technologies.

To Be Considered

  1. The submitted code should be plagiarism free otherwise your application will be disqualified
  2. Please complete the assignment and submit it to us by the submission deadline assigned to you.
  3. follow the instructions carefully, as we will evaluate your code, documentation, and adherence to best practices. Once you have finished, please send us the GitHub repository link.
  4. If you have any questions or need further clarification, please don't hesitate to reach out to us at hr@enverx.com. We look forward to reviewing your work and discussing it with you in the next stage of the interview process.

About