{"id":26250573,"url":"https://github.com/artyomagadzhanyan421/rest-api-taskify","last_synced_at":"2026-04-11T03:03:31.019Z","repository":{"id":282177219,"uuid":"947363083","full_name":"artyomagadzhanyan421/rest-api-taskify","owner":"artyomagadzhanyan421","description":"Restful API for Taskify - task manager application using MERN stack with TypeScript and Redux Toolkit.","archived":false,"fork":false,"pushed_at":"2025-03-23T14:29:43.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T14:36:50.183Z","etag":null,"topics":["express-js","jwt","jwt-authentication","jwt-bearer-tokens","jwt-middleware","jwt-tokens","mongodb","mongodb-atlas","mongodb-compass","mongoose","node-js","nodemon","postman"],"latest_commit_sha":null,"homepage":"https://rest-api-taskify.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artyomagadzhanyan421.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-12T15:13:09.000Z","updated_at":"2025-05-05T08:33:15.000Z","dependencies_parsed_at":"2025-03-13T07:46:45.562Z","dependency_job_id":null,"html_url":"https://github.com/artyomagadzhanyan421/rest-api-taskify","commit_stats":null,"previous_names":["artyomagadzhanyan421/rest-api-taskify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/artyomagadzhanyan421/rest-api-taskify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyomagadzhanyan421%2Frest-api-taskify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyomagadzhanyan421%2Frest-api-taskify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyomagadzhanyan421%2Frest-api-taskify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyomagadzhanyan421%2Frest-api-taskify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artyomagadzhanyan421","download_url":"https://codeload.github.com/artyomagadzhanyan421/rest-api-taskify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artyomagadzhanyan421%2Frest-api-taskify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31667034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express-js","jwt","jwt-authentication","jwt-bearer-tokens","jwt-middleware","jwt-tokens","mongodb","mongodb-atlas","mongodb-compass","mongoose","node-js","nodemon","postman"],"created_at":"2025-03-13T16:19:54.382Z","updated_at":"2026-04-11T03:03:30.999Z","avatar_url":"https://github.com/artyomagadzhanyan421.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Taskify REST API  \n\n![Static Badge](https://img.shields.io/badge/20.16.0-green?label=node)\n![Static Badge](https://img.shields.io/badge/%5E3.0.2-green?label=bcryptjs)\n![Static Badge](https://img.shields.io/badge/%5E2.8.5-green?label=cors)\n![Static Badge](https://img.shields.io/badge/%5E16.4.7-yellow?label=dotenv)\n![Static Badge](https://img.shields.io/badge/%5E4.21.2-white?label=express)\n![Static Badge](https://img.shields.io/badge/%5E9.0.2-white?label=jsonwebtoken)\n![Static Badge](https://img.shields.io/badge/%5E8.12.1-limegreen?label=mongoose)\n![Static Badge](https://img.shields.io/badge/%5E3.1.9-olivedrab?label=nodemon)\n\nThis is the backend API for the [Taskify](https://github.com/artyomagadzhanyan421/taskify.git) project, a task management application. The API allows users to create, read, update, and delete tasks while handling authentication.  \n\n\u003e [!IMPORTANT]  \n\u003e Ensure you have the latest versions of [Node.js](https://nodejs.org/) and [Git](https://git-scm.com/) installed before proceeding.\n\n### Features\n- User authentication (Sign Up, Sign In)  \n- CRUD operations for tasks (Create, Read, Update, Delete)  \n- Secure endpoints using JWT authentication  \n- MongoDB database for storing users and tasks\n\n### Tech Stack\n- [Node.js](https://github.com/nodejs/node.git) + [Express.js](https://github.com/expressjs/express.git)\n- [Mongoose](https://github.com/Automattic/mongoose.git) for storing user and task data\n- [JWT](https://github.com/auth0/node-jsonwebtoken.git) for authentication and secure access control\n- [bcrypt.js](https://github.com/kelektiv/node.bcrypt.js.git) for password hashing and securely storing passwords\n- [Dotenv](https://github.com/motdotla/dotenv.git) for managing environment variables securely\n\n### Installation \u0026 Setup\n\n\u003e [!IMPORTANT]  \n\u003e Ensure you've created an account on [MongoDB](https://www.mongodb.com/) before proceeding.\n\n**1. Clone the repository**\n```bash\ngit clone https://github.com/artyomagadzhanyan421/rest-api-taskify.git\ncd rest-api-taskify\n```\n\n**2. Install dependencies**\n```bash\nnpm install\n```\n\n**3. MongoDB Atlas (cloud database)**\n- Create a free account at MongoDB Atlas\n- Create a new cluster and database\n- Add ```users``` and ```tasks``` collections in your database\n- Get your connection string (formatted as ```mongodb+srv://\u003cusername\u003e:\u003cdb_password\u003e@\u003cclustername\u003e.gdbya.mongodb.net/\u003cdbname\u003e```).\n- Replace ```\u003cusername\u003e```, ```\u003cpassword\u003e```, ```\u003cclustername\u003e``` and ```\u003cdbname\u003e``` with your actual details\n- Add this connection string as ```MONGO_URI``` and ```JWT_SECRET``` in your created ```.env``` file\n\n```bash\nMONGO_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\n```\n\n**4. Generate an App Password**\n- Go to your Google Account settings\n- Click on **Security** from the sidebar\n- Enable **2-Step Verification** if it's not already enabled\n- In your search tab select **App Passwords**\n- Create a new app and copy your generated password\n- Add new variales in your ```.env``` file\n\n```bash\nMONGO_URI=your_mongodb_connection_string\nJWT_SECRET=your_jwt_secret\nEMAIL_USER=your-email@gmail.com\nEMAIL_PASS=your-generated-app-password\n```\n\n**5. Start your server**\n```bash\nnpx nodemon index.js\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartyomagadzhanyan421%2Frest-api-taskify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartyomagadzhanyan421%2Frest-api-taskify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartyomagadzhanyan421%2Frest-api-taskify/lists"}