
Material Dashboard Pro React ASP.NET عبارة عن مسؤول مميز لـ Material-Ui تم إنشاؤه باستخدام ARTEC-REACT-APP مع تصميم جديد وجديد مستوحى من تصميم مواد Google. نحن متحمسون للغاية لتقديم مفاهيم المواد الخاصة بنا من خلال مجموعة سهلة الاستخدام ومجموعة من المكونات الجميلة. تم بناء Material Dashboard Pro React ASP.NET على إطار Material-UI الشهير. يستفيد من الضوء والسطح والحركة. يشبه التصميم العام أوراق الورق بعد طبقات مختلفة متعددة ، بحيث يكون العمق والترتيب واضحين. يبقى التنقل بشكل رئيسي على الشريط الجانبي الأيسر والمحتوى على اليمين.
تسريع التطوير مع حاويات Docker
يتطلب تطوير التطبيقات اليوم أكثر من مجرد كتابة رمز. تخلق اللغات المتعددة والأطر والبنية والواجهات المتقطعة بين الأدوات لكل مرحلة دورة حياة تعقيدًا هائلاً. يقوم Docker بتبسيط وتسريع سير العمل الخاص بك ، مع إعطاء المطورين حرية الابتكار مع اختيارهم للأدوات ، ومردسات التطبيق ، وبيئات النشر لكل مشروع.
يأتي المنتج مع 7 خيارات تصفية الألوان لروابط الشريط الجانبي (الأزرق والأخضر والأبرة والأحمر والأرجواني ، الورد ، الأبيض) ، 3 خيارات ألوان مرشح لخلفية الشريط الجانبي (أبيض ، أزرق ، أسود) ، خيار للحصول على صورة خلفية على الشريط الجانبي و 6 خيارات مرشح الألوان (الأزرق ، الأخضر ، اللون الأحمر ، الأرجواني ، الورد).
يستخدم Material Dashboard Pro React ASP.NET إطارًا صممه صديقنا Olivier - Material -Ui ، الذي قام بعمل رائع في إنشاء العمود الفقري للتأثيرات المادية والرسوم المتحركة والتموجات والانتقالات. شكر كبير لفريقه على هذا الجهد والاعتقاد بأنهم وضعوا فيه.
أثناء تطوير لوحة القيادة هذه ، استخدمنا العديد من الموارد الحالية من المطورين الرائعين. نريد أن نشكرهم على توفير أدواتهم مفتوحة المصدر:
دعنا نعرف أفكارك أدناه. ونتمنى لك التوفيق مع التنمية!
| ASP.NET |
|---|
خيارات البدء السريع:
docker-compose up --build . لاحظ أنه في المرة الأولى التي تقوم فيها بتشغيل هذه الصور.لديك الآن 3 تطبيقات تعمل تتكون من الواجهة الأمامية React ، وتطبيق خادم هوية (IDS) استنادًا إلى C#/. Net Core ومشروع C#/. Net Core API. يتبع زرع خادم الهوية تدفق كلمة مرور مالك المورد ولكن يمكن تعديله لدعم الآخرين.
يمنحك التكامل 3 ميزات لإدارة الهوية:
تسجيل الدخول. يحتوي IDS على 3 تسجيلات تسجيل افتراضية لتبدأ مع أذوناتها الافتراضية (دور): اسم المستخدم: Alice Password: Pass123 $ الدور: اسم المستخدم: Fred Password: Pass123 $ الدور: اسم المستخدم: Bob Password: Pass123 $ الدور: عضو
ملاحظة: سيتم تلقائيا أي مستخدم جديد لدور العضو
يسجل. هذا يسجل مستخدمًا جديدًا في معرفات
ملف تعريف المستخدم. تحديث الملف الشخصي وتغيير كلمة المرور. ملاحظة: يجب عليك تسجيل الدخول لعرض هذه الصفحة.
إذا كنت ترغب في تغيير أي من الإعدادات حول المصادقة ، يرجى الرجوع إلى الملفات التالية:
يمكنك العثور على وثائق على معرفات هنا
يتم استضافة وثائق Material Dashboard Pro React ASPNET على موقعنا.
ضمن التنزيل ستجد الدلائل والملفات التالية:
material-dashboard-pro-react-aspnet
.
├── API
│ ├── API.csproj
│ ├── Controllers
│ │ └── PostsController.cs
│ ├── DataSchema
│ │ ├── DataContext.cs
│ │ ├── Extensions
│ │ │ └── ModelBuilderExtensions.cs
│ │ ├── ModelConfiguration
│ │ │ └── PostConfiguration.cs
│ │ └── Post.cs
│ ├── Dockerfile
│ ├── Posts.db
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Repositories
│ │ ├── BaseRepository.cs
│ │ ├── IPostRepository.cs
│ │ ├── IRepository.cs
│ │ └── PostRepository.cs
│ ├── Services
│ │ ├── IPostService.cs
│ │ └── PostService.cs
│ ├── Startup.cs
│ └── appsettings.json
├── CreativeTim.sln
├── IdentityServer
│ ├── Config.cs
│ ├── Data
│ │ ├── ApplicationDbContext.cs
│ │ └── Migrations
│ │ ├── 20180109192453_CreateIdentitySchema.Designer.cs
│ │ ├── 20180109192453_CreateIdentitySchema.cs
│ │ └── ApplicationDbContextModelSnapshot.cs
│ ├── Dockerfile
│ ├── Helpers
│ │ ├── ProfileWithRoleIdentityResource.cs
│ │ └── X509Helper.cs
│ ├── IdentityServer.csproj
│ ├── Models
│ │ ├── AddRoleModel.cs
│ │ └── ApplicationUser.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Quickstart
│ │ ├── Account
│ │ │ ├── AccountController.cs
│ │ │ ├── AccountOptions.cs
│ │ │ ├── ExternalController.cs
│ │ │ ├── ExternalProvider.cs
│ │ │ ├── LoggedOutViewModel.cs
│ │ │ ├── LoginInputModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── LogoutInputModel.cs
│ │ │ ├── LogoutViewModel.cs
│ │ │ ├── PasswordController.cs
│ │ │ ├── ProfileController.cs
│ │ │ ├── RedirectViewModel.cs
│ │ │ ├── RegisterController.cs
│ │ │ ├── RegisterViewModel.cs
│ │ │ ├── RoleController.cs
│ │ │ ├── UpdatePasswordModel.cs
│ │ │ ├── UpdateProfileModel.cs
│ │ │ └── UserController.cs
│ │ ├── Consent
│ │ │ ├── ConsentController.cs
│ │ │ ├── ConsentInputModel.cs
│ │ │ ├── ConsentOptions.cs
│ │ │ ├── ConsentViewModel.cs
│ │ │ ├── ProcessConsentResult.cs
│ │ │ └── ScopeViewModel.cs
│ │ ├── Device
│ │ │ ├── DeviceAuthorizationInputModel.cs
│ │ │ ├── DeviceAuthorizationViewModel.cs
│ │ │ └── DeviceController.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticsController.cs
│ │ │ └── DiagnosticsViewModel.cs
│ │ ├── Extensions.cs
│ │ ├── Grants
│ │ │ ├── GrantsController.cs
│ │ │ └── GrantsViewModel.cs
│ │ ├── Home
│ │ │ ├── ErrorViewModel.cs
│ │ │ └── HomeController.cs
│ │ ├── SecurityHeadersAttribute.cs
│ │ └── TestUsers.cs
│ ├── SeedData.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Account
│ │ │ ├── AccessDenied.cshtml
│ │ │ ├── LoggedOut.cshtml
│ │ │ ├── Login.cshtml
│ │ │ └── Logout.cshtml
│ │ ├── Consent
│ │ │ └── Index.cshtml
│ │ ├── Device
│ │ │ ├── Success.cshtml
│ │ │ ├── UserCodeCapture.cshtml
│ │ │ └── UserCodeConfirmation.cshtml
│ │ ├── Diagnostics
│ │ │ └── Index.cshtml
│ │ ├── Grants
│ │ │ └── Index.cshtml
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── Redirect.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ ├── _Nav.cshtml
│ │ │ ├── _ScopeListItem.cshtml
│ │ │ └── _ValidationSummary.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.json
│ ├── tempkey.jwk
│ ├── updateUI.ps1
│ └── wwwroot
│ ├── css
│ │ └── site.scss
│ ├── favicon.ico
│ ├── js
│ │ ├── signin-redirect.js
│ │ └── signout-redirect.js
│ └── lib
│ ├── bootstrap
│ │ ├── README.md
│ │ ├── dist
│ │ │ ├── css
│ │ │ │ ├── bootstrap-grid.css.map
│ │ │ │ ├── bootstrap-grid.min.css.map
│ │ │ │ ├── bootstrap-reboot.css.map
│ │ │ │ ├── bootstrap-reboot.min.css.map
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ └── bootstrap.min.css.map
│ │ │ └── js
│ │ │ ├── bootstrap.bundle.js
│ │ │ ├── bootstrap.bundle.js.map
│ │ │ ├── bootstrap.bundle.min.js
│ │ │ ├── bootstrap.bundle.min.js.map
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.js.map
│ │ │ ├── bootstrap.min.js
│ │ │ └── bootstrap.min.js.map
│ │ └── scss
│ │ ├── _alert.scss
│ │ ├── _badge.scss
│ │ ├── _breadcrumb.scss
│ │ ├── _button-group.scss
│ │ ├── _buttons.scss
│ │ ├── _card.scss
│ │ ├── _carousel.scss
│ │ ├── _close.scss
│ │ ├── _code.scss
│ │ ├── _custom-forms.scss
│ │ ├── _dropdown.scss
│ │ ├── _forms.scss
│ │ ├── _functions.scss
│ │ ├── _grid.scss
│ │ ├── _images.scss
│ │ ├── _input-group.scss
│ │ ├── _jumbotron.scss
│ │ ├── _list-group.scss
│ │ ├── _media.scss
│ │ ├── _mixins.scss
│ │ ├── _modal.scss
│ │ ├── _nav.scss
│ │ ├── _navbar.scss
│ │ ├── _pagination.scss
│ │ ├── _popover.scss
│ │ ├── _print.scss
│ │ ├── _progress.scss
│ │ ├── _reboot.scss
│ │ ├── _root.scss
│ │ ├── _spinners.scss
│ │ ├── _tables.scss
│ │ ├── _toasts.scss
│ │ ├── _tooltip.scss
│ │ ├── _transitions.scss
│ │ ├── _type.scss
│ │ ├── _utilities.scss
│ │ ├── _variables.scss
│ │ ├── bootstrap-grid.scss
│ │ ├── bootstrap-reboot.scss
│ │ ├── bootstrap.scss
│ │ ├── mixins
│ │ │ ├── _alert.scss
│ │ │ ├── _background-variant.scss
│ │ │ ├── _badge.scss
│ │ │ ├── _border-radius.scss
│ │ │ ├── _box-shadow.scss
│ │ │ ├── _breakpoints.scss
│ │ │ ├── _buttons.scss
│ │ │ ├── _caret.scss
│ │ │ ├── _clearfix.scss
│ │ │ ├── _deprecate.scss
│ │ │ ├── _float.scss
│ │ │ ├── _forms.scss
│ │ │ ├── _gradients.scss
│ │ │ ├── _grid-framework.scss
│ │ │ ├── _grid.scss
│ │ │ ├── _hover.scss
│ │ │ ├── _image.scss
│ │ │ ├── _list-group.scss
│ │ │ ├── _lists.scss
│ │ │ ├── _nav-divider.scss
│ │ │ ├── _pagination.scss
│ │ │ ├── _reset-text.scss
│ │ │ ├── _resize.scss
│ │ │ ├── _screen-reader.scss
│ │ │ ├── _size.scss
│ │ │ ├── _table-row.scss
│ │ │ ├── _text-emphasis.scss
│ │ │ ├── _text-hide.scss
│ │ │ ├── _text-truncate.scss
│ │ │ ├── _transition.scss
│ │ │ └── _visibility.scss
│ │ ├── utilities
│ │ │ ├── _align.scss
│ │ │ ├── _background.scss
│ │ │ ├── _borders.scss
│ │ │ ├── _clearfix.scss
│ │ │ ├── _display.scss
│ │ │ ├── _embed.scss
│ │ │ ├── _flex.scss
│ │ │ ├── _float.scss
│ │ │ ├── _overflow.scss
│ │ │ ├── _position.scss
│ │ │ ├── _screenreaders.scss
│ │ │ ├── _shadows.scss
│ │ │ ├── _sizing.scss
│ │ │ ├── _spacing.scss
│ │ │ ├── _stretched-link.scss
│ │ │ ├── _text.scss
│ │ │ └── _visibility.scss
│ │ └── vendor
│ │ └── _rfs.scss
│ └── jquery
│ ├── LICENSE.txt
│ ├── README.md
│ └── dist
│ ├── jquery.js
│ ├── jquery.min.js
│ ├── jquery.min.map
│ ├── jquery.slim.js
│ ├── jquery.slim.min.js
│ └── jquery.slim.min.map
├── README.md
├── React
│ ├── CHANGELOG.md
│ ├── Dockerfile
│ ├── ISSUE_TEMPLATE.md
│ ├── React.njsproj
│ ├── documentation
│ │ ├── assets
│ │ │ ├── css
│ │ │ ├── img
│ │ │ │ └── faces
│ │ │ └── js
│ │ │ ├── bootstrap.min.js
│ │ │ └── jquery-3.2.1.min.js
│ │ └── tutorial-components.html
│ ├── gulpfile.js
│ ├── jsconfig.json
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ └── manifest.json
│ └── src
│ ├── App.js
│ ├── actions
│ │ ├── authActions.js
│ │ └── types.js
│ ├── assets
│ │ ├── css
│ │ │ └── material-dashboard-pro-react.css.map
│ │ ├── github
│ │ │ └── material-dashboard-pro-react.gif
│ │ ├── img
│ │ │ ├── faces
│ │ │ ├── flags
│ │ │ ├── logo-white.svg
│ │ │ └── logo.svg
│ │ ├── jss
│ │ │ ├── material-dashboard-pro-react
│ │ │ │ ├── buttonGroupStyle.js
│ │ │ │ ├── cardImagesStyles.js
│ │ │ │ ├── components
│ │ │ │ │ ├── accordionStyle.js
│ │ │ │ │ ├── adminNavbarLinksStyle.js
│ │ │ │ │ ├── adminNavbarStyle.js
│ │ │ │ │ ├── authNavbarStyle.js
│ │ │ │ │ ├── badgeStyle.js
│ │ │ │ │ ├── buttonStyle.js
│ │ │ │ │ ├── cardAvatarStyle.js
│ │ │ │ │ ├── cardBodyStyle.js
│ │ │ │ │ ├── cardFooterStyle.js
│ │ │ │ │ ├── cardHeaderStyle.js
│ │ │ │ │ ├── cardIconStyle.js
│ │ │ │ │ ├── cardStyle.js
│ │ │ │ │ ├── cardTextStyle.js
│ │ │ │ │ ├── customDropdownStyle.js
│ │ │ │ │ ├── customInputStyle.js
│ │ │ │ │ ├── customLinearProgressStyle.js
│ │ │ │ │ ├── customTabsStyle.js
│ │ │ │ │ ├── footerStyle.js
│ │ │ │ │ ├── headingStyle.js
│ │ │ │ │ ├── infoStyle.js
│ │ │ │ │ ├── instructionStyle.js
│ │ │ │ │ ├── navPillsStyle.js
│ │ │ │ │ ├── paginationStyle.js
│ │ │ │ │ ├── sidebarStyle.js
│ │ │ │ │ ├── snackbarContentStyle.js
│ │ │ │ │ ├── tableStyle.js
│ │ │ │ │ ├── tasksStyle.js
│ │ │ │ │ ├── timelineStyle.js
│ │ │ │ │ ├── typographyStyle.js
│ │ │ │ │ └── wizardStyle.js
│ │ │ │ ├── customCheckboxRadioSwitch.js
│ │ │ │ ├── customSelectStyle.js
│ │ │ │ ├── hoverCardStyle.js
│ │ │ │ ├── layouts
│ │ │ │ │ ├── adminStyle.js
│ │ │ │ │ ├── authStyle.js
│ │ │ │ │ └── rtlStyle.js
│ │ │ │ ├── modalStyle.js
│ │ │ │ └── views
│ │ │ │ ├── buttonsStyle.js
│ │ │ │ ├── chartsStyle.js
│ │ │ │ ├── dashboardStyle.js
│ │ │ │ ├── errorPageStyles.js
│ │ │ │ ├── extendedFormsStyle.js
│ │ │ │ ├── extendedTablesStyle.js
│ │ │ │ ├── gridSystemStyle.js
│ │ │ │ ├── iconsStyle.js
│ │ │ │ ├── lockScreenPageStyle.js
│ │ │ │ ├── loginPageStyle.js
│ │ │ │ ├── notificationsStyle.js
│ │ │ │ ├── pricingPageStyle.js
│ │ │ │ ├── registerPageStyle.js
│ │ │ │ ├── regularFormsStyle.js
│ │ │ │ ├── sweetAlertStyle.js
│ │ │ │ ├── userProfileStyles.js
│ │ │ │ └── validationFormsStyle.js
│ │ │ └── material-dashboard-pro-react.js
│ │ └── scss
│ │ ├── material-dashboard-pro-react
│ │ │ ├── _colors.scss
│ │ │ ├── _fileupload.scss
│ │ │ ├── _fixed-plugin.scss
│ │ │ ├── _misc.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _shadows.scss
│ │ │ ├── _variables.scss
│ │ │ ├── mixins
│ │ │ │ ├── _chartist.scss
│ │ │ │ ├── _sidebar-color.scss
│ │ │ │ ├── _transparency.scss
│ │ │ │ └── _vendor-prefixes.scss
│ │ │ └── plugins
│ │ │ ├── _plugin-nouislider.scss
│ │ │ ├── _plugin-perfect-scrollbar.scss
│ │ │ ├── _plugin-react-big-calendar.scss
│ │ │ ├── _plugin-react-bootstrap-sweetalert.scss
│ │ │ ├── _plugin-react-chartist.scss
│ │ │ ├── _plugin-react-datetime.scss
│ │ │ ├── _plugin-react-jvectormap.scss
│ │ │ ├── _plugin-react-table.scss
│ │ │ └── _plugin-react-tagsinput.scss
│ │ └── material-dashboard-pro-react.scss
│ ├── components
│ │ ├── Accordion
│ │ │ └── Accordion.js
│ │ ├── Badge
│ │ │ └── Badge.js
│ │ ├── Card
│ │ │ ├── Card.js
│ │ │ ├── CardAvatar.js
│ │ │ ├── CardBody.js
│ │ │ ├── CardFooter.js
│ │ │ ├── CardHeader.js
│ │ │ ├── CardIcon.js
│ │ │ └── CardText.js
│ │ ├── Clearfix
│ │ │ └── Clearfix.js
│ │ ├── CustomButtons
│ │ │ └── Button.js
│ │ ├── CustomDropdown
│ │ │ └── CustomDropdown.js
│ │ ├── CustomInput
│ │ │ └── CustomInput.js
│ │ ├── CustomLinearProgress
│ │ │ └── CustomLinearProgress.js
│ │ ├── CustomTabs
│ │ │ └── CustomTabs.js
│ │ ├── CustomUpload
│ │ │ ├── ImageUpload.js
│ │ │ └── PictureUpload.js
│ │ ├── FixedPlugin
│ │ │ └── FixedPlugin.js
│ │ ├── Footer
│ │ │ └── Footer.js
│ │ ├── Grid
│ │ │ ├── GridContainer.js
│ │ │ └── GridItem.js
│ │ ├── Heading
│ │ │ └── Heading.js
│ │ ├── InfoArea
│ │ │ └── InfoArea.js
│ │ ├── Instruction
│ │ │ └── Instruction.js
│ │ ├── NavPills
│ │ │ └── NavPills.js
│ │ ├── Navbars
│ │ │ ├── AdminNavbar.js
│ │ │ ├── AdminNavbarLinks.js
│ │ │ └── AuthNavbar.js
│ │ ├── Pagination
│ │ │ └── Pagination.js
│ │ ├── ReactTable
│ │ │ └── ReactTable.js
│ │ ├── Sidebar
│ │ │ └── Sidebar.js
│ │ ├── Snackbar
│ │ │ ├── Snackbar.js
│ │ │ └── SnackbarContent.js
│ │ ├── Table
│ │ │ └── Table.js
│ │ ├── Tasks
│ │ │ └── Tasks.js
│ │ ├── Timeline
│ │ │ └── Timeline.js
│ │ ├── Typography
│ │ │ ├── Danger.js
│ │ │ ├── Info.js
│ │ │ ├── Muted.js
│ │ │ ├── Primary.js
│ │ │ ├── Quote.js
│ │ │ ├── Success.js
│ │ │ └── Warning.js
│ │ └── Wizard
│ │ └── Wizard.js
│ ├── index.js
│ ├── layouts
│ │ ├── Admin.js
│ │ ├── Auth.js
│ │ └── RTL.js
│ ├── reducers
│ │ ├── authReducer.js
│ │ └── index.js
│ ├── routes.js
│ ├── services
│ │ └── oauth.js
│ ├── store.js
│ ├── utils
│ │ ├── authProvider.js
│ │ ├── axiosHeaders.js
│ │ └── protectedRoute.js
│ ├── variables
│ │ ├── charts.js
│ │ └── general.js
│ └── views
│ ├── Calendar
│ │ └── Calendar.js
│ ├── Charts
│ │ └── Charts.js
│ ├── Components
│ │ ├── Buttons.js
│ │ ├── GridSystem.js
│ │ ├── Icons.js
│ │ ├── Notifications.js
│ │ ├── Panels.js
│ │ ├── SweetAlert.js
│ │ └── Typography.js
│ ├── Dashboard
│ │ └── Dashboard.js
│ ├── Forms
│ │ ├── ExtendedForms.js
│ │ ├── RegularForms.js
│ │ ├── ValidationForms.js
│ │ ├── Wizard.js
│ │ └── WizardSteps
│ │ ├── Step1.js
│ │ ├── Step2.js
│ │ └── Step3.js
│ ├── Maps
│ │ ├── FullScreenMap.js
│ │ ├── GoogleMaps.js
│ │ └── VectorMap.js
│ ├── Notifications
│ │ └── Notifications.js
│ ├── Pages
│ │ ├── ErrorPage.js
│ │ ├── LockScreenPage.js
│ │ ├── LoginPage.js
│ │ ├── PricingPage.js
│ │ ├── RTLSupport.js
│ │ ├── RegisterPage.js
│ │ ├── Timeline.js
│ │ └── UserProfile.js
│ ├── Post
│ │ ├── Post.js
│ │ └── Posts.js
│ ├── Tables
│ │ ├── ExtendedTables.js
│ │ ├── ReactTables.js
│ │ └── RegularTables.js
│ ├── UserProfile
│ │ ├── RegisterPage.js
│ │ └── UserProfile.js
│ ├── Users
│ │ ├── user.js
│ │ └── users.js
│ └── Widgets
│ └── Widgets.js
└── docker-compose.yml
في الوقت الحاضر ، نهدف رسميًا إلى دعم الإصدارين الأخيرين من المتصفحات التالية:
نحن نستخدم مشكلات GitHub كتعقب أخطاء رسمي لـ Material Dashboard Pro. فيما يلي بعض النصائح لمستخدمينا الذين يرغبون في الإبلاغ عن مشكلة:
إذا كانت لديك أسئلة أو تحتاج إلى مساعدة في دمج المنتج ، فيرجى الاتصال بنا بدلاً من فتح مشكلة.
المزيد من المنتجات من الإبداع تيم
دروس
المجانية من الإبداع تيم
البرنامج التابع (كسب المال)
Twitter: https://twitter.com/creativetim
Facebook: https://www.facebook.com/creativetim
Dribbble: https://dribbble.com/creativetim
Google+: https://plus.google.com/+creativetimpage
Instagram: https://instagram.com/creativetimofficial