{"id":22234210,"url":"https://github.com/raian-shahrear/exploring-world-server","last_synced_at":"2026-04-11T10:32:30.170Z","repository":{"id":259411653,"uuid":"868068438","full_name":"raian-shahrear/exploring-world-server","owner":"raian-shahrear","description":"To design this project, here is used Modular pattern with some tech like Typescript, Node.js, Express.js, Mongoose, ZOD validator and JWT Authenticator/Authorizer. AAmarPay payment system implemented, applicable for verifying user.","archived":false,"fork":false,"pushed_at":"2024-12-02T17:04:19.000Z","size":138,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T08:31:18.791Z","etag":null,"topics":["expressjs","module-pattern","mongodb-database","mongoose","nodejs","vercel-deployment"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/raian-shahrear.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}},"created_at":"2024-10-05T11:52:20.000Z","updated_at":"2024-12-02T17:04:24.000Z","dependencies_parsed_at":"2024-11-16T16:18:36.063Z","dependency_job_id":"31b7ba07-be58-4fb6-92af-66c75bad39e2","html_url":"https://github.com/raian-shahrear/exploring-world-server","commit_stats":null,"previous_names":["raian-shahrear/exploring-world-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raian-shahrear%2Fexploring-world-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raian-shahrear%2Fexploring-world-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raian-shahrear%2Fexploring-world-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raian-shahrear%2Fexploring-world-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raian-shahrear","download_url":"https://codeload.github.com/raian-shahrear/exploring-world-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245431683,"owners_count":20614184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["expressjs","module-pattern","mongodb-database","mongoose","nodejs","vercel-deployment"],"created_at":"2024-12-03T02:07:31.386Z","updated_at":"2025-10-11T22:57:15.711Z","avatar_url":"https://github.com/raian-shahrear.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exploring World Server\n\n### Technology used:\n- To design this project, here is used Modular pattern with some tech like Typescript, Node.js, Express.js, Mongoose, ZOD validator and JWT Authenticator/Authorizer.\n- AAmarPay payment system implemented, applicable for verifying user.\n\n### How to start:\n1. First install some required npm packages like express, mongoose, typescript, cors, prettier, eslint etc. and then initialize them.\n2. Create modules for users/auth, post, category and comments with their interface, model, validation, service, controller and route.\n3. To run the server, command is: `npm run start:dev` (development mode) || `npm run start:prod` (production mode)\n4. To set the environment by following `.env.example` file.\n5. Also follow the package.json file for more info like npm package or commands.\n\n### Live link:\nhttps://exploring-world-server.vercel.app\n\n### Features of the application:\n1. Anyone can register as user, default admin will change the role if needed,\n2. Valid user can login.\n3. Admin can create and update category from the dashboard.\n4. Admin can delete post and comment from the dashboard.\n5. Admin can update user role also check user status and graph from the dashboard.\n6. Anyone or admin can see the post and comment.\n7. User can create, update and delete post and comment.\n8. User or admin can change password from the dashboard profile.\n9. Payment system implemented to verify an user.\n10. Validation, Authentication and Authorization are properly used.\n\n### Configuration\n1. Create a `.env` file in the root directory of the project.\n2. Add necessary configuration variables in the `.env` file.\n   Example:\n   ```bash\n    NODE_ENV=development\n    PORT=5000\n    DATABASE_URL=mongodb_url\n    BCRYPT_SALT_ROUNDS=any_numeric_value\n    JWT_ACCESS_SECRET=secret\n    JWT_ACCESS_EXPIRES_IN=time\n    JWT_REFRESH_SECRET=secret\n    JWT_REFRESH_EXPIRES_IN=time\n    SERVER_URL=live_or_local_url\n    FRONTEND_URL=live_or_local_url\n    STORE_ID=aamarpay_store_id\n    SIGNATURE_KEY=aamarpay_signature_key\n    PAYMENT_URL=aamarpay_payment_url\n    PAYMENT_VERIFY_URL=aamarpay_payment_verify_url\n   ```\n3. Then the `.env` file needs to be connected with the `config` file.\n   ```js\n   import dotenv from 'dotenv';\n   import path from 'path';\n   dotenv.config({ path: path.join(process.cwd(), '.env') });\n   export default {\n     NODE_ENV: process.env.NODE_ENV,\n     port: process.env.PORT,\n     db_url: process.env.DATABASE_URL,\n     bcrypt_salt_rounds: process.env.BCRYPT_SALT_ROUNDS,\n     jwt_access_secret: process.env.JWT_ACCESS_SECRET,\n     jwt_access_expire_in: process.env.JWT_ACCESS_EXPIRES_IN,\n     jwt_refresh_secret: process.env.JWT_REFRESH_SECRET,\n     jwt_refresh_expire_in: process.env.JWT_REFRESH_EXPIRES_IN,\n     server_url: process.env.SERVER_URL,\n     frontend_url: process.env.FRONTEND_URL,\n     store_id: process.env.STORE_ID,\n     signature_key: process.env.SIGNATURE_KEY,\n     payment_url: process.env.PAYMENT_URL,\n     payment_verify_url: process.env.PAYMENT_VERIFY_URL,\n   };\n   ```\n\n### Important Login credentials:\n##### Admin:\n- email: admin@example.com\n- password: password@1234\n##### Demo User:\n- email: jhon24@example.com\n- password: password@1234\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraian-shahrear%2Fexploring-world-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraian-shahrear%2Fexploring-world-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraian-shahrear%2Fexploring-world-server/lists"}