This repository contains the backend for a task management application called Store Your Task. It provides RESTful APIs for user management and task management, allowing users to register, login, create tasks, update tasks, delete tasks, and many more.
- User Management
- Task Management
- bcryptjs: For hashing passwords securely.
- cookie-parser: For parsing cookies attached to the client requests.
- cors: For handling Cross-Origin Resource Sharing.
- dotenv: For loading environment variables from a
.env
file. - email-validator: For validating email addresses.
- express: The web application framework for Node.js used for building APIs.
- jsonwebtoken: For generating and verifying JSON Web Tokens for user authentication.
- mongoose: For modeling application data and interacting with MongoDB.
- morgan: For HTTP request logging during development.
- multer: For handling multipart/form-data, primarily used for uploading files.
- nodemailer: For sending emails for various things.
- zod: For validating the data.
-
Clone the repository:
https://github.com/CodeWithKartikey/Project-Backend-Store-Your-Task.git
-
Navigate to the project directory:
cd Project-Backend-Store-Your-Task
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the project root directory. - Define the following variables in the
.env
file:PORT
: Port number for the server (default:8080
).MONGODB_URI
: MongoDB connection URI.- Other necessary variables for CORS configuration, SMTP settings etc.
- Create a
-
Start the server:
npm start
- Use a REST API client like Postman to interact with the server.
- Refer to source code comments for details on available endpoints and their usage.
We welcome contributions to improve this project! ๐
Here's how you can contribute:
-
Fork the repository: Click on the 'Fork' button on the top right corner of the repository's page. This will create a copy of the repository in your GitHub account.
-
Create a new branch: Create a new branch in your forked repository to work on your feature or bug fix. You can do this using the following command:
git checkout -b feature/my-feature
Replace
my-feature
with a descriptive name for your feature or bug fix. -
Make your changes: Implement the changes or fixes in your branch.
-
Commit your changes: Once you've made your changes, commit them with a descriptive commit message:
git commit -am 'Add some feature'
-
Push your changes: Push your changes to your forked repository:
git push origin feature/my-feature
-
Submit a pull request: Go to the main repository and click on the 'Pull Request' button. Provide a detailed description of your changes and submit the pull request. Your changes will be reviewed, and once approved, they will be merged into the main repository.
This project is licensed under the MIT License.
- Author: Kartikey Narayan
- Email: [email protected]
- Project Repository: Project-Backend-Store-Your-Task
Designed, Developed & Maintained by CodeWithKartikey - Happy coding. ๐