{"info":{"_postman_id":"97bf976c-bc0d-4ed4-a74f-f9cf96464737","name":"MatchWorks API","description":"<html><head></head><body><p>Backend API endpoint for MatchWorks - Job Application Assistance.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"27360970","collectionId":"97bf976c-bc0d-4ed4-a74f-f9cf96464737","publishedId":"2sAYBbepYm","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-12-07T09:14:37.000Z"},"item":[{"name":"Authentication","item":[{"name":"Register","id":"de891c4f-3034-4eb6-86b0-bdb8ddfaa1c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"name","value":"Cuong Tran","type":"text"},{"key":"email","value":"cuongtran@gmail.com","type":"text"},{"key":"password","value":"12345678","type":"text"},{"key":"phone","value":"0912345678","type":"text"},{"key":"avatar","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/D:/Personal/Job Application/CV - Tran Manh Cuong.pdf"],"src":"postman-cloud:///1ef6425b-16be-4320-953f-a12e07a24ee0"}]},"url":"http://localhost:8080/api/auth/register","urlObject":{"protocol":"http","port":"8080","path":["api","auth","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"de891c4f-3034-4eb6-86b0-bdb8ddfaa1c3"},{"name":"Login","id":"f9eac5f0-c7ce-4159-86d7-e1cf43c27cba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"cuongtran@gmail.com\",\r\n    \"password\": \"12345678\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/auth/login","urlObject":{"protocol":"http","port":"8080","path":["api","auth","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"f9eac5f0-c7ce-4159-86d7-e1cf43c27cba"},{"name":"Logout","id":"bf9abb3d-ea30-490a-a665-2b2152b5f20f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:8080/api/auth/logout","urlObject":{"protocol":"http","port":"8080","path":["api","auth","logout"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"bf9abb3d-ea30-490a-a665-2b2152b5f20f"},{"name":"Refresh token","id":"e197d829-48f2-4732-8d77-4da790c6aea0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:8080/api/auth/refresh-token","urlObject":{"protocol":"http","port":"8080","path":["api","auth","refresh-token"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e197d829-48f2-4732-8d77-4da790c6aea0"}],"id":"e96ffad5-a94d-4d76-ab38-358ded8e7312","description":"<p>API endpoints for user authentication.</p>\n","_postman_id":"e96ffad5-a94d-4d76-ab38-358ded8e7312"},{"name":"File Management","item":[{"name":"Avatar","item":[{"name":"Retrieve avatar metadata","id":"71e9a49b-fb28-449e-b2b6-499152c8ad6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/files/avatars/6752bfb0d25c27a891b419dc/retrieve","urlObject":{"protocol":"http","port":"8080","path":["api","files","avatars","6752bfb0d25c27a891b419dc","retrieve"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"71e9a49b-fb28-449e-b2b6-499152c8ad6f"},{"name":"Download avatar file","id":"ad284701-b8bb-4ff4-955d-fb0d77063b4d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/files/avatars/6752bf85d25c27a891b419d6/download","urlObject":{"protocol":"http","port":"8080","path":["api","files","avatars","6752bf85d25c27a891b419d6","download"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad284701-b8bb-4ff4-955d-fb0d77063b4d"},{"name":"Upload avatar file","id":"968c8345-7c6b-4da8-83e7-7b3f6084a9c6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"avatar","type":"file","src":"postman-cloud:///1ef65004-e909-4bc0-bd6f-8219a0ffa5b5"}]},"url":"http://localhost:8080/api/files/avatars","urlObject":{"protocol":"http","port":"8080","path":["api","files","avatars"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"968c8345-7c6b-4da8-83e7-7b3f6084a9c6"},{"name":"Rename avatar file","id":"68cfbf87-dcb0-4111-abbc-d141fd3976d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"newName\": \"avatar2.jpg\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/files/avatars/6752bfb0d25c27a891b419dc","urlObject":{"protocol":"http","port":"8080","path":["api","files","avatars","6752bfb0d25c27a891b419dc"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"68cfbf87-dcb0-4111-abbc-d141fd3976d0"},{"name":"Delete avatar file","id":"7fa5a4a7-2604-4d6b-9bcb-8cfb6f7a6add","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/api/files/avatars/6752bfb0d25c27a891b419dc","urlObject":{"protocol":"http","port":"8080","path":["api","files","avatars","6752bfb0d25c27a891b419dc"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"7fa5a4a7-2604-4d6b-9bcb-8cfb6f7a6add"}],"id":"d2f78d57-dd62-4629-9689-7d5d82d55bd4","_postman_id":"d2f78d57-dd62-4629-9689-7d5d82d55bd4","description":""},{"name":"Resume","item":[{"name":"Retrieve resume metadata","id":"de2ac4eb-8aaf-442a-8eab-edc548759cca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/files/resumes/6755142097538d3bb69e0efc/retrieve","urlObject":{"protocol":"http","port":"8080","path":["api","files","resumes","6755142097538d3bb69e0efc","retrieve"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"de2ac4eb-8aaf-442a-8eab-edc548759cca"},{"name":"Download resume file","id":"d9ee2d93-3e4d-4810-86eb-75872fa6d217","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/files/resumes/6755142097538d3bb69e0efc/download","urlObject":{"protocol":"http","port":"8080","path":["api","files","resumes","6755142097538d3bb69e0efc","download"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d9ee2d93-3e4d-4810-86eb-75872fa6d217"},{"name":"Upload resume file","id":"a07ef8be-b549-434a-902b-98b4fb5dfbf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"resume","type":"file","fileNotInWorkingDirectoryWarning":"This file isn't in your working directory. Teammates you share this request with won't be able to use this file. To make collaboration easier you can setup your working directory in Settings.","filesNotInWorkingDirectory":["/D:/Personal/Job Application/TranManhCuong - Backend Developer.pdf"],"src":"/D:/Personal/Job Application/TranManhCuong - Backend Developer.pdf"},{"key":"isUpdateProfile","value":"true","type":"text"}]},"url":"http://localhost:8080/api/files/resumes","urlObject":{"protocol":"http","port":"8080","path":["api","files","resumes"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"a07ef8be-b549-434a-902b-98b4fb5dfbf7"},{"name":"Rename resume file","id":"46a70484-33ce-4341-9b7c-e79ff211a1ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"newName\": \"resume.pdf\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/files/resumes/6752c037d25c27a891b419eb","urlObject":{"protocol":"http","port":"8080","path":["api","files","resumes","6752c037d25c27a891b419eb"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"46a70484-33ce-4341-9b7c-e79ff211a1ca"},{"name":"Delete resume file","id":"2ff231c6-af38-4c33-ba85-c7bd1d57e755","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/api/files/resumes/6752c037d25c27a891b419eb","urlObject":{"protocol":"http","port":"8080","path":["api","files","resumes","6752c037d25c27a891b419eb"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"2ff231c6-af38-4c33-ba85-c7bd1d57e755"}],"id":"fa715fc3-3d80-49b3-8e3c-72a815fbc95e","_postman_id":"fa715fc3-3d80-49b3-8e3c-72a815fbc95e","description":""}],"id":"686b0aa0-f0a4-4818-b062-94c15da931a7","_postman_id":"686b0aa0-f0a4-4818-b062-94c15da931a7","description":""},{"name":"User Management","item":[{"name":"User Details","item":[{"name":"Get current user","id":"20b82346-4281-45c0-b4f7-c692822f68d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/users/current","urlObject":{"protocol":"http","port":"8080","path":["api","users","current"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"20b82346-4281-45c0-b4f7-c692822f68d8"},{"name":"Update user profile","id":"eea50026-ecd0-409a-8723-684f26bc3d49","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Cuong Tran\",\r\n    \"email\": \"cuongtran@gmail.com\",\r\n    \"phone\": \"0912345678\",\r\n    \"background\": \"I am a passionate Data Engineer!\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/profile","urlObject":{"protocol":"http","port":"8080","path":["api","users","profile"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"eea50026-ecd0-409a-8723-684f26bc3d49"}],"id":"33739e1d-6af9-43ea-adfd-c358d9b66490","_postman_id":"33739e1d-6af9-43ea-adfd-c358d9b66490","description":""},{"name":"Positions","item":[{"name":"Add a position","id":"1021f2c3-5af9-424a-9ed1-1e95926c82b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"position\": \"Backend Developer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/positions","urlObject":{"protocol":"http","port":"8080","path":["api","users","positions"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"1021f2c3-5af9-424a-9ed1-1e95926c82b6"},{"name":"Remove a position","id":"d5a057f8-5d9e-45ed-a8d4-3ab1a63b5486","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"position\": \"Backend Developer\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/positions","urlObject":{"protocol":"http","port":"8080","path":["api","users","positions"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d5a057f8-5d9e-45ed-a8d4-3ab1a63b5486"}],"id":"671e7aed-6000-499e-99d2-012ed993736f","_postman_id":"671e7aed-6000-499e-99d2-012ed993736f","description":""},{"name":"Skills","item":[{"name":"Add a skill","id":"83607480-7e7d-41e1-966c-9daab9e715ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"skill\": \"Node.js\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/skills","urlObject":{"protocol":"http","port":"8080","path":["api","users","skills"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"83607480-7e7d-41e1-966c-9daab9e715ac"},{"name":"Remove a skill","id":"43b16584-1c84-4cb7-ab77-b253a40ba192","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"skill\": \"React.js\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/skills","urlObject":{"protocol":"http","port":"8080","path":["api","users","skills"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"43b16584-1c84-4cb7-ab77-b253a40ba192"}],"id":"62969142-a26a-42fe-8a77-aa2b28d67526","_postman_id":"62969142-a26a-42fe-8a77-aa2b28d67526","description":""},{"name":"Interests","item":[{"name":"Add an interest","id":"0af835f0-eed2-4fe9-be2b-781bb062e0a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"interest\": \"Machine Learning\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/interests","urlObject":{"protocol":"http","port":"8080","path":["api","users","interests"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0af835f0-eed2-4fe9-be2b-781bb062e0a0"},{"name":"Delete an interest","id":"036b9a59-e44d-4332-a6a5-3b1392baddf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"interest\": \"Machine Learning\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/interests","urlObject":{"protocol":"http","port":"8080","path":["api","users","interests"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"036b9a59-e44d-4332-a6a5-3b1392baddf9"}],"id":"5d01d943-4170-4350-9e75-7ee575f2509e","_postman_id":"5d01d943-4170-4350-9e75-7ee575f2509e","description":""},{"name":"Education","item":[{"name":"Add an education","id":"fa220114-e83e-432e-afe1-2e9594491841","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"degree\": \"Bachelor of Information Technology\",\r\n    \"institution\": \"RMIT University\",\r\n    \"startDate\": \"2022-01-01\",\r\n    \"endDate\": \"2025-01-01\",\r\n    \"description\": \"Major in IT, minor in Data Analytics\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/education","urlObject":{"protocol":"http","port":"8080","path":["api","users","education"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"fa220114-e83e-432e-afe1-2e9594491841"},{"name":"Update an education","id":"4be3b563-e29e-49d7-a319-c1ee7127bab8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"educationId\": \"6753b143458a1b99fb175483\",\r\n    \"degree\": \"Bachelor of Information Technology\",\r\n    \"institution\": \"RMIT University\",\r\n    \"startDate\": \"2022-01-01\",\r\n    \"endDate\": \"2025-01-01\",\r\n    \"description\": \"Major in IT, minor in AI\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/education","urlObject":{"protocol":"http","port":"8080","path":["api","users","education"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4be3b563-e29e-49d7-a319-c1ee7127bab8"},{"name":"Delete an education","id":"9f6d4d23-a481-49a9-964d-292bf45a42f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"educationId\": \"6753b143458a1b99fb175483\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/education","urlObject":{"protocol":"http","port":"8080","path":["api","users","education"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"9f6d4d23-a481-49a9-964d-292bf45a42f9"}],"id":"a54efa84-7ded-49d1-8737-5bb5196c9931","_postman_id":"a54efa84-7ded-49d1-8737-5bb5196c9931","description":""},{"name":"Experience","item":[{"name":"Add an experience","id":"85fcfe2c-6580-4237-8cd3-3c25440d6771","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"jobTitle\": \"Data Engineer Intern\",\r\n    \"company\": \"VNG Corporation\",\r\n    \"startDate\": \"2023-01-01\",\r\n    \"endDate\": \"2024-01-01\",\r\n    \"description\": \"Create data lakehouse and manage data pipeline.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/experience","urlObject":{"protocol":"http","port":"8080","path":["api","users","experience"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"85fcfe2c-6580-4237-8cd3-3c25440d6771"},{"name":"Update an experience","id":"7f804989-d1f2-4399-9732-2f8c9b6d2768","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"experienceId\": \"6753b2a6458a1b99fb17548c\",\r\n    \"jobTitle\": \"Data Engineer\",\r\n    \"company\": \"VNG Corporation\",\r\n    \"startDate\": \"2023-01-01\",\r\n    \"endDate\": \"2024-01-01\",\r\n    \"description\": \"Manage data warehouse\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/experience","urlObject":{"protocol":"http","port":"8080","path":["api","users","experience"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"7f804989-d1f2-4399-9732-2f8c9b6d2768"},{"name":"Delete an experience","id":"57107ad1-fe04-4a19-a15f-056fbd3c18aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"experienceId\": \"6753b2a6458a1b99fb17548c\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/users/experience","urlObject":{"protocol":"http","port":"8080","path":["api","users","experience"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"57107ad1-fe04-4a19-a15f-056fbd3c18aa"}],"id":"30620748-41fa-4fcc-8e45-1c15a93ddb3c","_postman_id":"30620748-41fa-4fcc-8e45-1c15a93ddb3c","description":""}],"id":"ec004b64-9d32-4970-a15e-010a91f0e31f","_postman_id":"ec004b64-9d32-4970-a15e-010a91f0e31f","description":""},{"name":"Job Management","item":[{"name":"Add a job","id":"ee457062-8509-4eff-8813-b5770b53dace","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"title\": \"Fullstack Mobile Engineer (React Native, Android)\",\r\n  \"type\": \"Full-time\",\r\n  \"level\": \"Middle\",\r\n  \"industry\": [\"Mobile App Development\", \"Software Engineering\", \"IT Services\"],\r\n  \"description\": \"## **Top 3 reasons to join us**\\n- Global company with regional and global clients\\n- Competitive and well-rounded package\\n- Work-life balance: 18 annual leaves, hybrid setup\\n\\n## **Job description**\\n### **About Us**\\nFounded in Switzerland in 1968, Zühlke is owned by its partners and located across Europe and Asia. We are a global transformation partner, with engineering and innovation in our DNA. We're trusted to help clients envision and build their businesses for the future – to run smarter today while adapting for tomorrow’s markets, customers, and communities. Our multidisciplinary teams specialize in tech strategy and business innovation, digital solutions and applications, and device and systems engineering. We excel in complex, regulated spaces including health and finance, connecting strategy, tech implementation, and operational services to help clients become more effective, resilient businesses. If you share our values and want to do the best work, for the right reasons, we can offer you the chance to do it on a global scale and play a real role in shaping our exciting journey.\\n\\n### **The Role**\\nLive your passion for software development in exciting customer projects and be inspired by your colleagues’ enthusiasm. As a React Native software engineer, you will cooperate with interdisciplinary teams in projects and experience how technology and team spirit unite to create innovative solutions. Your job will involve working closely with clients to develop, test, and ship software that meets their needs. You will efficiently and competently solve complex software challenges. Continuous further development and active knowledge exchange mean that you will be working with the latest methods and tools to stay up to date with the latest trends. Our reputation is fundamental to our business, so our culture emphasizes quality, reliability, and respect. We value learning new technologies and skills; thus, you will get a generous budget to attend conferences, participate in certified courses, and our annual technical camp is a lot of fun.\\n\\n## **Your skills and experience**\\n### **What's important to us**\\n- You have a degree in computer science or a related field (bachelor's/master's).  \\n- You value high-quality code and want to improve and share your knowledge of the latest technologies every day.\\n- You have at least 3 years of professional experience in mobile app development using React Native and Android.\\n- Solid understanding of TypeScript/JavaScript. Having experience with backend side using Node.js is a plus.\\n- Familiarity with GraphQL and its integration in applications.\\n- Experience with PostgreSQL or similar relational databases.\\n- Strong problem-solving skills and attention to detail.\\n- Excellent communication and collaboration skills.\\n\\n## **Why you'll love working here**\\n### **What we offer**\\n- **Work-life blend**: Safe & healthy workplace, flexible working hours, and the possibility to work from home.\\n- **Profit share scheme**: In addition to your annual salary, you may receive a profit share defined by the company’s success in the previous year.\\n- **Global and Diverse Zühlke community**: Collaborate with colleagues across 17 offices globally, creating a unique, positive, and inclusive work culture.\\n- **Committed to development**: Invest in your growth with training opportunities to build the skills needed for today and the future.\\n\\nWe welcome people from all backgrounds, regardless of their gender, personality, national origin, race, religion, color, sexual orientation, gender identity, age, marital status, disability, or veteran status.\",\r\n  \"location\": \"Ho Chi Minh, Vietnam\",\r\n  \"salary\": \"Negotiable\",\r\n  \"url\": \"https://itviec.com/it-jobs/fullstack-mobile-engineer-react-native-android-zuhlke-engineering-vietnam-1624?lab_feature=preview_jd_page\",\r\n  \"company\": {\r\n    \"name\": \"Zühlke Engineering Vietnam\",\r\n    \"description\": \"Zühlke is a global innovation service provider. We envisage ideas and create new business models for our clients by developing services and products based on new technologies – from the initial vision through development to deployment, production and operation.\",\r\n    \"logo\": \"https://itviec.com/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBd3VjSFE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--2bdbcc850d1da5bfc0f020011301732f4a85a9bc/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBPZ2wzWldKd09oSnlaWE5wZW1WZmRHOWZabWwwV3dkcEFhb3ciLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--bb0ebae071595ab1791dc0ad640ef70a76504047/Zuhlke-LOGO(forpartners).jpg\",\r\n    \"url\": \"https://www.zuehlke.com/en\",\r\n    \"location\": \"Switzerland\"\r\n  },\r\n  \"contactEmail\": \"info@zuehlke.com\",\r\n  \"skills\": [\r\n    \"React Native\",\r\n    \"Android Development\",\r\n    \"TypeScript\",\r\n    \"GraphQL\",\r\n    \"PostgreSQL\",\r\n    \"Node.js\",\r\n    \"JavaScript\",\r\n    \"CI/CD\",\r\n    \"RESTful APIs\",\r\n    \"Communication\"\r\n  ],\r\n  \"datePosted\": \"2024-12-01T00:00:00Z\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/jobs","urlObject":{"protocol":"http","port":"8080","path":["api","jobs"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee457062-8509-4eff-8813-b5770b53dace"},{"name":"Get jobs","id":"00bb8670-8612-407a-978f-94e0dfe0ed5a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs?search&type&level=&industry=&location&page=1&limit=10","urlObject":{"protocol":"http","port":"8080","path":["api","jobs"],"host":["localhost"],"query":[{"key":"search","value":null},{"key":"type","value":null},{"key":"level","value":""},{"key":"industry","value":""},{"key":"location","value":null},{"key":"page","value":"1"},{"key":"limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"00bb8670-8612-407a-978f-94e0dfe0ed5a"},{"name":"Get job by id","id":"c11bb458-4654-4bfe-8584-df8a0a8053a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/6755bf22f15186a94ed231fe","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","6755bf22f15186a94ed231fe"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"c11bb458-4654-4bfe-8584-df8a0a8053a3"},{"name":"Get saved jobs","id":"968db530-0539-42f2-8f62-cf986d9498d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/saved?page=1&limit=10","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","saved"],"host":["localhost"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"968db530-0539-42f2-8f62-cf986d9498d3"},{"name":"Save a job","id":"1a734f04-19c4-4c19-ae41-23df8d4da0ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"jobId\": \"675402b3d275da58ba8b9fe1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/jobs/save","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","save"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"1a734f04-19c4-4c19-ae41-23df8d4da0ba"},{"name":"Unsave a job","id":"ee13c447-6dd5-471b-a5f5-ef0fd5cb2573","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"jobId\": \"675402b3d275da58ba8b9fe1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/jobs/unsave","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","unsave"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee13c447-6dd5-471b-a5f5-ef0fd5cb2573"},{"name":"Get job recommendations","id":"1923fb07-0523-4083-868d-5dd3320a9eb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/recommendations?page=1&limit=10","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","recommendations"],"host":["localhost"],"query":[{"key":"page","value":"1"},{"key":"limit","value":"10"}],"variable":[]}},"response":[],"_postman_id":"1923fb07-0523-4083-868d-5dd3320a9eb8"},{"name":"Get job types","id":"b43b9e9f-a08a-4190-ac55-ddef4e02b6d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/types","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","types"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"b43b9e9f-a08a-4190-ac55-ddef4e02b6d4"},{"name":"Get job levels","id":"248d7ecb-0fdd-4087-85a8-37e33a8fa464","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/levels","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","levels"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"248d7ecb-0fdd-4087-85a8-37e33a8fa464"},{"name":"Get job industries","id":"4f676e06-c49e-41d9-a9d9-a42b4b311a0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/industries","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","industries"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4f676e06-c49e-41d9-a9d9-a42b4b311a0c"},{"name":"Get job locations","id":"e4e0131d-9d8b-4dec-9e29-02fdf3231002","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/jobs/locations","urlObject":{"protocol":"http","port":"8080","path":["api","jobs","locations"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4e0131d-9d8b-4dec-9e29-02fdf3231002"}],"id":"e30304d3-9b33-4346-b95a-34c300e010b2","_postman_id":"e30304d3-9b33-4346-b95a-34c300e010b2","description":""},{"name":"Resume Builder","item":[{"name":"Get a resume by id","id":"d44a3a21-e547-415b-b6f8-554c9b77e04b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/resumes/6755142097538d3bb69e0efc","urlObject":{"protocol":"http","port":"8080","path":["api","resumes","6755142097538d3bb69e0efc"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d44a3a21-e547-415b-b6f8-554c9b77e04b"},{"name":"Generate feedback","id":"26d44d5f-03b6-4804-a2eb-be3f16ba8373","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:8080/api/resumes/6755142097538d3bb69e0efc/feedback","urlObject":{"protocol":"http","port":"8080","path":["api","resumes","6755142097538d3bb69e0efc","feedback"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"26d44d5f-03b6-4804-a2eb-be3f16ba8373"}],"id":"a8e51d22-16a9-41e2-be9a-6df8e84af9f3","_postman_id":"a8e51d22-16a9-41e2-be9a-6df8e84af9f3","description":""},{"name":"Roadmap Generator","item":[{"name":"Get a roadmap by id","id":"45c3035d-793e-4fa4-9eac-5f6e1b299b65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/roadmaps/676bbe3d3df1062e396e935d","urlObject":{"protocol":"http","port":"8080","path":["api","roadmaps","676bbe3d3df1062e396e935d"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"45c3035d-793e-4fa4-9eac-5f6e1b299b65"},{"name":"Create a new roadmap","id":"2124f7e1-bcf7-4448-8ce2-23768630d59e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"jobTitle\": \"Senior Data Engineer\",\r\n    \"jobLevel\": \"Senior\",\r\n    \"jobDescription\": \"## **Top 3 reasons to join us**- Good English Working Environment.- New technologies.- Competative salaries.## **Job description**- Choosing the right technologies for our use cases, deploy and operate.- Setting up Data stores structured, semi structured and non-structured.- Secure data at rest via encryption.- Implement tool to access securely multiple data sources.- Implement solutions to run real-time analytics.- Use container technologies.## **Your skills and experience**- From 5 years of experience as Data Engineer.- Proficient in English.- Experienced in Bank/Fintech domain is preferred.- Experience in one of the following: Elastic Search, Cassandra, Hadoop, Mongo DB.- Experience in Spark and Presto/Trino.- Experience with microservice-based architectures.- Experience on Kubernetes.- Experience of Unix/Linux environments is plus.- Experience of Agile/Scrum development methodologies is a plus.- Cloud knowledge a big plus (AWS/GCP) – (Kubernetes/Docker).- Be nice, respectful, able to work in a team.## **Why you'll love working here**- Fringe benefits (20 leave days/ Kindergarten & lunch allowance).- Premium extra healthcare insurance.- Yearly career/ performance evolution.- A flat organization (respect, teamwork, flexibility, transparency).- 13th salary bonus/ competitive salary.- Cutting-edge technologies/ Scrum methodology/ Agile development.- Udemy/ LeAcademy/ English training course.- Great activities (Team Building, Company Trip, Weekly Happy Friday, …).\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/roadmaps","urlObject":{"protocol":"http","port":"8080","path":["api","roadmaps"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"2124f7e1-bcf7-4448-8ce2-23768630d59e"},{"name":"Update a roadmap","id":"c4c0193c-7da5-4550-b5fd-8ac857f81b50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"checklistId\": \"676bbe3d3df1062e396e935e\",\r\n    \"isCompleted\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/roadmaps/676bbe3d3df1062e396e935d","urlObject":{"protocol":"http","port":"8080","path":["api","roadmaps","676bbe3d3df1062e396e935d"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4c0193c-7da5-4550-b5fd-8ac857f81b50"},{"name":"Delete a roadmap","id":"fab3f7c5-99c3-4f49-906b-abe298b46cec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/api/roadmaps/676bbe3d3df1062e396e935d","urlObject":{"protocol":"http","port":"8080","path":["api","roadmaps","676bbe3d3df1062e396e935d"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"fab3f7c5-99c3-4f49-906b-abe298b46cec"}],"id":"9956e8ab-8952-47e5-b9bb-4125170fc866","_postman_id":"9956e8ab-8952-47e5-b9bb-4125170fc866","description":""},{"name":"Mock Interview","item":[{"name":"Get an interview by id","id":"9c20979a-6e58-47ae-b666-52abe0e7b29c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8080/api/interviews/677a309bfcf50c7d89535b23","urlObject":{"protocol":"http","port":"8080","path":["api","interviews","677a309bfcf50c7d89535b23"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"9c20979a-6e58-47ae-b666-52abe0e7b29c"},{"name":"Create a new interview","id":"edbe3688-63f7-4a79-84b4-ea7ac34305dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"jobTitle\": \"Fullstack Mobile Engineer (React Native, Android)\",\r\n    \"jobLevel\": \"Middle\",\r\n    \"jobDescription\": \"## **Top 3 reasons to join us**\\n- Global company with regional and global clients\\n- Competitive and well-rounded package\\n- Work-life balance: 18 annual leaves, hybrid setup\\n\\n## **Job description**\\n### **About Us**\\nFounded in Switzerland in 1968, Zühlke is owned by its partners and located across Europe and Asia. We are a global transformation partner, with engineering and innovation in our DNA. We're trusted to help clients envision and build their businesses for the future – to run smarter today while adapting for tomorrow’s markets, customers, and communities. Our multidisciplinary teams specialize in tech strategy and business innovation, digital solutions and applications, and device and systems engineering. We excel in complex, regulated spaces including health and finance, connecting strategy, tech implementation, and operational services to help clients become more effective, resilient businesses. If you share our values and want to do the best work, for the right reasons, we can offer you the chance to do it on a global scale and play a real role in shaping our exciting journey.\\n\\n### **The Role**\\nLive your passion for software development in exciting customer projects and be inspired by your colleagues’ enthusiasm. As a React Native software engineer, you will cooperate with interdisciplinary teams in projects and experience how technology and team spirit unite to create innovative solutions. Your job will involve working closely with clients to develop, test, and ship software that meets their needs. You will efficiently and competently solve complex software challenges. Continuous further development and active knowledge exchange mean that you will be working with the latest methods and tools to stay up to date with the latest trends. Our reputation is fundamental to our business, so our culture emphasizes quality, reliability, and respect. We value learning new technologies and skills; thus, you will get a generous budget to attend conferences, participate in certified courses, and our annual technical camp is a lot of fun.\\n\\n## **Your skills and experience**\\n### **What's important to us**\\n- You have a degree in computer science or a related field (bachelor's/master's).  \\n- You value high-quality code and want to improve and share your knowledge of the latest technologies every day.\\n- You have at least 3 years of professional experience in mobile app development using React Native and Android.\\n- Solid understanding of TypeScript/JavaScript. Having experience with backend side using Node.js is a plus.\\n- Familiarity with GraphQL and its integration in applications.\\n- Experience with PostgreSQL or similar relational databases.\\n- Strong problem-solving skills and attention to detail.\\n- Excellent communication and collaboration skills.\\n\\n## **Why you'll love working here**\\n### **What we offer**\\n- **Work-life blend**: Safe & healthy workplace, flexible working hours, and the possibility to work from home.\\n- **Profit share scheme**: In addition to your annual salary, you may receive a profit share defined by the company’s success in the previous year.\\n- **Global and Diverse Zühlke community**: Collaborate with colleagues across 17 offices globally, creating a unique, positive, and inclusive work culture.\\n- **Committed to development**: Invest in your growth with training opportunities to build the skills needed for today and the future.\\n\\nWe welcome people from all backgrounds, regardless of their gender, personality, national origin, race, religion, color, sexual orientation, gender identity, age, marital status, disability, or veteran status.\",\r\n    \"numQuestions\": 5\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/interviews","urlObject":{"protocol":"http","port":"8080","path":["api","interviews"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"edbe3688-63f7-4a79-84b4-ea7ac34305dc"},{"name":"Generate an interview feedback","id":"0c687a58-d651-41f9-9938-198664e19999","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"interviewId\": \"677a309bfcf50c7d89535b23\",\r\n    \"answers\": [\r\n        \"In my experience with React Native, I have worked extensively with component lifecycle methods such as `componentDidMount`, `shouldComponentUpdate`, and `componentWillUnmount`. Additionally, I have utilized state management solutions like Redux and Context API to manage complex application states efficiently. For instance, in a recent project, I developed a mobile application for an e-commerce platform. The challenge was implementing real-time inventory updates across multiple screens. Using React Native and Redux, I managed state changes effectively and ensured seamless synchronization. I also leveraged hooks like `useEffect` and `useState` to optimize the app's performance while handling asynchronous data fetching.\",\r\n        \"GraphQL is a query language and runtime that allows fetching specific data as per the client’s needs, unlike REST, which retrieves predefined data structures. One key difference is that GraphQL reduces over-fetching or under-fetching of data by enabling clients to request exactly what they need. In a React Native application, I would integrate GraphQL using Apollo Client. For example, to fetch and display data from a PostgreSQL database, I would set up a GraphQL server to expose queries and mutations. Then, I’d use Apollo’s `useQuery` hook in React Native to fetch data such as user profiles, enabling dynamic and efficient rendering based on the query response.\",\r\n        \"In one of my previous roles, I worked on a project to redesign a client’s mobile application. The client, a non-technical stakeholder, struggled to articulate their vision in technical terms. I scheduled a series of workshops to break down their requirements into smaller tasks and used visual tools like wireframes and prototypes to translate their ideas into technical specifications. Simultaneously, I collaborated with my development team to ensure feasibility and alignment. By maintaining clear, consistent communication between both parties, we achieved a shared understanding and delivered a successful product that met the client’s expectations.\",\r\n        \"If I discovered a critical bug just before the release deadline, I would first assess the bug’s impact on the application. If it affects critical functionality, I would prioritize fixing it immediately by isolating the issue and identifying the root cause. I would involve the QA team to conduct rapid regression testing once a fix is applied. Simultaneously, I would communicate the situation to stakeholders, explaining the trade-offs between delaying the release and deploying a hotfix. If delaying is not an option, I would implement a temporary workaround to ensure minimal disruption while scheduling a post-release update for a permanent fix.\",\r\n        \"In a previous project, I worked with a distributed team across Europe, Asia, and the Americas. Time zone differences and cultural nuances required me to adapt my communication style. I ensured clear documentation and asynchronous updates through tools like Slack and Confluence. In meetings, I actively sought input from team members to foster inclusivity and addressed potential language barriers by using straightforward language and visual aids. This approach not only improved team collaboration but also built trust and mutual understanding among team members, resulting in a more cohesive and efficient workflow.\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/api/interviews/feedback","urlObject":{"protocol":"http","port":"8080","path":["api","interviews","feedback"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c687a58-d651-41f9-9938-198664e19999"},{"name":"Delete an interview","id":"83c94a2c-988a-43c7-81b8-1c00217f1680","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:8080/api/interviews/677a2fd3bdceea7f48d6eb2d","urlObject":{"protocol":"http","port":"8080","path":["api","interviews","677a2fd3bdceea7f48d6eb2d"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"83c94a2c-988a-43c7-81b8-1c00217f1680"}],"id":"69e656f9-c648-49d1-9d2e-3d973cbb9ed4","_postman_id":"69e656f9-c648-49d1-9d2e-3d973cbb9ed4","description":""}]}