-
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added repository templates #10
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Angular Music Player App Submission | ||
|
||
## Submission Link | ||
|
||
Name - Link to Github repo / article |
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,77 @@ | ||||||||||||||
# Backend API Challenge: Node.js Simple API | ||||||||||||||
|
||||||||||||||
**Creator :** XYZ | ||||||||||||||
|
||||||||||||||
## Prerequisites | ||||||||||||||
|
||||||||||||||
- Basic JavaScript and Node.js | ||||||||||||||
- Express.js | ||||||||||||||
- MongoDB (or any other database of your choice) | ||||||||||||||
- Basic knowledge of RESTful API principles | ||||||||||||||
|
||||||||||||||
## The Tech | ||||||||||||||
|
||||||||||||||
- Node.js | ||||||||||||||
- Express.js (for creating the API) | ||||||||||||||
- MongoDB (for storing data; you can use Mongoose for easier interaction) | ||||||||||||||
- Postman or any other API testing tool | ||||||||||||||
|
||||||||||||||
## The Challenge | ||||||||||||||
|
||||||||||||||
Create a simple backend API to manage a collection of resources (e.g., articles, tasks, or any other entity). This challenge will help to understand your thinking process and judge your skill level. | ||||||||||||||
|
||||||||||||||
### Endpoints and Features | ||||||||||||||
|
||||||||||||||
#### CRUD Operations on a Simple Resource (e.g., Articles, Tasks) | ||||||||||||||
|
||||||||||||||
**Create Resource:** Add a new resource. | ||||||||||||||
**Get All Resources:** Retrieve all resources. | ||||||||||||||
**Get Resource by ID:** Retrieve a specific resource by its ID. | ||||||||||||||
**Update Resource:** Update a specific resource. | ||||||||||||||
**Delete Resource:** Delete a specific resource. | ||||||||||||||
|
||||||||||||||
### Bonus Points | ||||||||||||||
|
||||||||||||||
#### For Beginner Level | ||||||||||||||
|
||||||||||||||
**Search Functionality:** Implement a search endpoint to find resources by title or content. | ||||||||||||||
|
||||||||||||||
#### For Intermediate Level | ||||||||||||||
|
||||||||||||||
**User Authentication** | ||||||||||||||
**Sign Up:** Create a new user account. | ||||||||||||||
**Login:** Authenticate a user and return a token. | ||||||||||||||
**Logout:** Log out a user (invalidate the token). | ||||||||||||||
**Get User Profile:** Retrieve the authenticated user's profile | ||||||||||||||
**Search Functionality:** Implement a search endpoint to find resources by title or content. | ||||||||||||||
|
||||||||||||||
#### For Advanced Level | ||||||||||||||
|
||||||||||||||
**User Authentication** | ||||||||||||||
**Sign Up:** Create a new user account. | ||||||||||||||
**Login:** Authenticate a user and return a token. | ||||||||||||||
**Logout:** Log out a user (invalidate the token). | ||||||||||||||
**Get User Profile:** Retrieve the authenticated user's profile. | ||||||||||||||
**Token Refresh:** Implement a token refresh mechanism to allow users to obtain a new token without re-authenticating. | ||||||||||||||
**Password Reset:** Implement a password reset functionality. | ||||||||||||||
Search Functionality: Implement a search endpoint to find resources by title or content. | ||||||||||||||
Arvind644 marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||||||
|
||||||||||||||
## Deadline | ||||||||||||||
|
||||||||||||||
- Its optional and its decided by the author. | ||||||||||||||
- If timeline is given, please specify the time required for peer review. | ||||||||||||||
|
||||||||||||||
## Deliverables (Optional) | ||||||||||||||
|
||||||||||||||
- Deploy the API on a platform like Render, Railway, or any other cloud service. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. suggestion: Add hyperlink to Render and Railway |
||||||||||||||
- Submit the code in a GitHub repository. | ||||||||||||||
- Create a `README` in solutions directory with the name `task-template-solution.md` , so the person doing the challenge can post their name with link to their solution. We will take input from the repo for peer review and final submission. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. meg being anal
Suggested change
|
||||||||||||||
|
||||||||||||||
### Code submission | ||||||||||||||
|
||||||||||||||
[Backend API submission readme](../solutions/task-template-submission.md) | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. more meg being anal
Suggested change
|
||||||||||||||
|
||||||||||||||
## Going Further | ||||||||||||||
|
||||||||||||||
- **Authentication:** Learn about token-based authentication (e.g., JWT). | ||||||||||||||
- **Testing:** Learn about testing your API using tools like Mocha, Chai, or Jest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue: Rename to match example challenge