How to enable SSL on your CentOS server with Apache and Let’s Encrypt

Step 1: Install certbot and obtain a certificate

sudo yum install epel-releasesudo yum install certbot python2-certbot-apache mod_sslsudo certbot — apache -d example.com -d www.example.com

You must add all your domains and subdomains in one command.

(From digital ocean🙂 You will also be able to choose between enabling both http and https access or forcing all requests to redirect to https. For better security, it is recommended to choose the option 2: Redirect if you do not have any special need to allow unencrypted connections. Select your choice then hit ENTER.

Error: Port 80 is required

Let’s encrypt requires port 80 to redirect to your server. So configure that redirection in your apache config.

vi /etc/httpd/conf/httpd.conf

Add the following:

<VirtualHost *:80>ServerName example.comRedirect permanent / https://example.com/</VirtualHost>

Rename your public ServerName (the one outside of this VirtualHost container) as well:

ServerName localhostServerName example.com

Step 2: Configure your default SSL configuration

vi /etc/httpd/conf.d/ssl.conf

Replace the following lines:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt →

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

SSLCertificateChainFileSSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Error: too many redirects

Make sure that you only have a single port listening to 443.

grep -r 443 /etc/httpd

If you are already listening to 443 in ssl.conf, comment out Listen 443 in httpd.conf.

/etc/httpd/conf/httpd.conf:# Listen 443/etc/httpd/conf/httpd-le-ssl.conf:<VirtualHost *:443>/etc/httpd/conf.d/ssl.conf:Listen 443 https/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>

Step 3: Check your certificate

https://www.ssllabs.com/ssltest/analyze.html?d=example.com

Step 4: Set Up Auto Renewal

sudo crontab -e

Press i and add the following:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

(From digital ocean🙂 This will create a new cron job that will execute at noon and midnight every day. Adding an element of randomness to your cron jobs will ensure that hourly jobs do not all happen at the same minute, causing a server spike; python -c 'import random; import time; time.sleep(random.random() * 3600)' will select a random minute within the hour for your renewal tasks.

Press ‘Esc’, type 😡 to save, and check to see it is added to your list of cron jobs:

sudo crontab -l

Wamp – SSL

·  Download & install WampServer.

·  Open a command prompt (WindowsKey + R > cmd > click OK) and enter the following commands.
cd c:\wamp64\bin\apache\apache2.4.41\bin

openssl genrsa -aes256 -out private.key 2048

openssl rsa -in private.key -out private.key

openssl req -new -x509 -nodes -sha1 -key private.key -out certificate.crt -days 36500 -config c:\wamp64\bin\apache\apache2.4.41\conf\openssl.cnf


Note: You can pretty much answer the questions any way you want though real answers are best. The one question that really matters here is the FQDN. It should be: localhost.

·  Move the private.key and certificate.crt files from c:\wamp64\bin\apache\apache2.4.41\bin to the c:\wamp64\bin\apache\apache2.4.41\conf\key\ folder. If the key folder doesn’t already exist, create it.

·  Using a text editor like Notepad, open c:\wamp64\bin\apache\apache2.4.41\conf\httpd.conf and un-comment following 3 lines:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

·  Using a text editor like Notepad, open c:\wamp64\bin\apache\apache2.4.41\conf\extra\httpd-ssl.conf and apply the following changes:
Below the line: <VirtualHost _default_:443>, check the following parameters to ensure they are configured correctly and not commented.
————————————-
DocumentRoot “c:/wamp64/www”
ServerName localhost:443
ServerAdmin admin@example.com
SSLSessionCache “shmcb:c:/wamp64/bin/apache/apache2.4.41/logs/ssl_scache(512000)”

ErrorLog “c:/wamp64/bin/apache/apache2.4.41/logs/error.log”
TransferLog “c:/wamp64/bin/apache/apache2.4.41/logs/access.log”
SSLCertificateFile “c:/wamp64/bin/apache/apache2.4.41/conf/key/certificate.crt”
SSLCertificateKeyFile “c:/wamp64/bin/apache/apache2.4.41/conf/key/private.key”
————————————-

·  Save the file and close it.

·  You are done. To check the validity of file, at the command prompt, enter:
c:\wamp64\bin\apache\apache2.4.41\bin\httpd -t
and then use your web browse to go to https://localhost/

Interspire To Prestashop

Products Table

DROP TABLE IF EXISTS `_mid_products`;
CREATE TABLE IF NOT EXISTS `_mid_products` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `active_0_1` text DEFAULT NULL,
  `name` text DEFAULT NULL,
  `categories_cs` text DEFAULT NULL,
  `price_tax_excluded` text DEFAULT NULL,
  `tax_rules_id` text DEFAULT NULL,
  `wholesale_price` text DEFAULT NULL,
  `on_sale_0_1` text DEFAULT NULL,
  `discount_amount` text DEFAULT NULL,
  `discount_percent` text DEFAULT NULL,
  `discount_from_yyyy_mm_dd` text DEFAULT NULL,
  `discount_to_yyyy_mm_dd` text DEFAULT NULL,
  `reference_num` text DEFAULT NULL,
  `supplier_reference_num` text DEFAULT NULL,
  `supplier` text DEFAULT NULL,
  `manufacturer` text DEFAULT NULL,
  `ean13` text DEFAULT NULL,
  `upc` text DEFAULT NULL,
  `ecotax` text DEFAULT NULL,
  `width` text DEFAULT NULL,
  `height` text DEFAULT NULL,
  `depth` text DEFAULT NULL,
  `weight` text DEFAULT NULL,
  `delivery_time_of_in_stock_products` text DEFAULT NULL,
  `delivery_time_of_out_of_stock_products_with_allowed_orders` text DEFAULT NULL,
  `quantity` text DEFAULT NULL,
  `minimal_quantity` text DEFAULT NULL,
  `low_stock_level` text DEFAULT NULL,
  `send_me_an_email_when_the_quantity_is_under_this_level` text DEFAULT NULL,
  `visibility` text DEFAULT NULL,
  `additional_shipping_cost` text DEFAULT NULL,
  `unity` text DEFAULT NULL,
  `unit_price` text DEFAULT NULL,
  `summary` text DEFAULT NULL,
  `description` text DEFAULT NULL,
  `tags_cs` text DEFAULT NULL,
  `meta_title` varchar(255) DEFAULT NULL,
  `meta_keywords` varchar(255) DEFAULT NULL,
  `meta_description` text DEFAULT NULL,
  `url_rewritten` text DEFAULT NULL,
  `text_when_in_stock` text DEFAULT NULL,
  `text_when_backorder_allowed` text DEFAULT NULL,
  `available_for_order_0_1` text DEFAULT NULL,
  `product_available_date` text DEFAULT NULL,
  `product_creation_date` text DEFAULT NULL,
  `show_price_0_1` text DEFAULT NULL,
  `image_urls_cs` text DEFAULT NULL,
  `image_alt_texts_cs` text DEFAULT NULL,
  `delete_existing_images_0_1` text DEFAULT NULL,
  `feature_cs` text DEFAULT NULL,
  `available_online_only_0_1` text DEFAULT NULL,
  `condition_` text DEFAULT NULL,
  `customizable_0_1` text DEFAULT NULL,
  `uploadable_files_0_1` text DEFAULT NULL,
  `text_fields_0_1` text DEFAULT NULL,
  `out_of_stock_action` text DEFAULT NULL,
  `virtual_product` text DEFAULT NULL,
  `file_url` text DEFAULT NULL,
  `number_of_allowed_downloads` text DEFAULT NULL,
  `expiration_date` text DEFAULT NULL,
  `number_of_days` text DEFAULT NULL,
  `id_name_of_shop` text DEFAULT NULL,
  `advanced_stock_management` text DEFAULT NULL,
  `depends_on_stock` text DEFAULT NULL,
  `warehouse` text DEFAULT NULL,
  `acessories_cs` text DEFAULT NULL,
  PRIMARY KEY (`product_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Categories table

DROP TABLE IF EXISTS `_mid_categories`;
CREATE TABLE IF NOT EXISTS `_mid_categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `active` int(11) NOT NULL DEFAULT 1,
  `name` text DEFAULT NULL,
  `parent_category` text DEFAULT NULL,
  `root_category` text DEFAULT NULL,
  `description` text DEFAULT NULL,
  `meta_title` text DEFAULT NULL,
  `meta_keyword` varchar(255) DEFAULT NULL,
  `meta_description` text DEFAULT NULL,
  `url_rewritten` text DEFAULT NULL,
  `image` text DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
COMMIT;

SQLs

fill the categories table:

insert into _mid_categories 
(id,active,parent_category,description,name,meta_title,meta_keyword,meta_description,url_rewritten) 
SELECT (categoryid+3) as id,catvisible as active,(catparentid+3) as `parent_category`,catdesc as description,catname as meta_title,catname as `name`,catmetakeywords as meta_keyword,catmetadesc as meta_description,replace(catname,' ','-') as url_rewritten FROM isc_categories ORDER BY catsort;


UPDATE `_mid_categories` set root_category=1 WHERE parent_category='0';
UPDATE `_mid_categories` set root_category=0 WHERE parent_category!='0';
UPDATE _mid_categories targetTable

LEFT JOIN _mid_categories sourceTable ON
    targetTable.parent_category=sourceTable.id
SET
targetTable.parent_category=sourceTable.id;

UPDATE `_mid_categories` SET parent_category='2' WHERE parent_category is null;

And for exporting it to csv you have to use this query:

SELECT  mc.* FROM `_mid_categories` as mc order by CASE WHEN parent_category>id THEN cast(id as unsigned) ELSE cast(parent_category as unsigned) END ASC,id asc

this fill the products table:

truncate _mid_products;
insert into _mid_products 
(`product_id`, `active_0_1`, `name`, `categories_cs`, `price_tax_excluded`, `tax_rules_id`, `wholesale_price`, `on_sale_0_1`, `discount_amount`, `discount_percent`, `discount_from_yyyy_mm_dd`, `discount_to_yyyy_mm_dd`, `reference_num`, `supplier_reference_num`, `supplier`, `manufacturer`, `ean13`, `upc`, `ecotax`, `width`, `height`, `depth`, `weight`, `delivery_time_of_in_stock_products`, `delivery_time_of_out_of_stock_products_with_allowed_orders`, `quantity`, `minimal_quantity`, `low_stock_level`, `send_me_an_email_when_the_quantity_is_under_this_level`, `visibility`, `additional_shipping_cost`, `unity`, `unit_price`, `summary`, `description`, `tags_cs`, `meta_title`, `meta_keywords`, `meta_description`, `url_rewritten`, `text_when_in_stock`, `text_when_backorder_allowed`, `available_for_order_0_1`, `product_available_date`, `product_creation_date`, `show_price_0_1`, `image_urls_cs`, `image_alt_texts_cs`, `delete_existing_images_0_1`, `feature_cs`, `available_online_only_0_1`, `condition_`, `customizable_0_1`, `uploadable_files_0_1`, `text_fields_0_1`, `out_of_stock_action`, `virtual_product`, `file_url`, `number_of_allowed_downloads`, `expiration_date`, `number_of_days`, `id_name_of_shop`, `advanced_stock_management`, `depends_on_stock`, `warehouse`, `acessories_cs`) 




SELECT 
p.productid as `product_id`,
p.prodvisible as `active_0_1`,
replace(p.prodname,'#','No ') as `name`,
GROUP_CONCAT(DISTINCT (cats.categoryid+3) ORDER BY cats.categoryid asc SEPARATOR ',') as `categories_cs`,
(p.prodprice/1.2) as `price_tax_excluded`,
'1' as `tax_rules_id`,
p.prodprice as `wholesale_price`,
'0' as `on_sale_0_1`,
null as `discount_amount`,
null as `discount_percent`,
null as `discount_from_yyyy_mm_dd`,
null as `discount_to_yyyy_mm_dd`,
p.prodcode as `reference_num`,
null `supplier_reference_num`,
null `supplier`,
brands.brandname as `manufacturer`,
null as `ean13`,
null as `upc`,
null as `ecotax`,
null as `width`,
null as `height`,
null as `depth`,
p.prodweight as `weight`,
null as `delivery_time_of_in_stock_products`,
null as `delivery_time_of_out_of_stock_products_with_allowed_orders`,
'999999' as `quantity`,
null as `minimal_quantity`,
null as `low_stock_level`,
null as `send_me_an_email_when_the_quantity_is_under_this_level`,
'both' as `visibility`,
null as `additional_shipping_cost`,
null as `unity`,
null as `unit_price`,
SUBSTRING(p.prodmetadesc,0,800) as `summary`,
p.proddesc as `description`,
null as `tags_cs`,
p.prodname as `meta_title`,
p.prodmetakeywords as `meta_keywords`,
SUBSTRING(p.prodmetadesc,0,512) as `meta_description`,
replace(p.prodname,' ','_') as `url_rewritten`,
null as `text_when_in_stock`,
null as `text_when_backorder_allowed`,
p.prodallowpurchases as `available_for_order_0_1`,
DATE_FORMAT(FROM_UNIXTIME(p.proddateadded), '%Y-%m-%d') AS `product_available_date`,
DATE_FORMAT(FROM_UNIXTIME(p.proddateadded), '%Y-%m-%d') AS `product_creation_date`,
'1' as `show_price_0_1`,
GROUP_CONCAT(DISTINCT CONCAT('https://www.natamno.com/product_images/',imgs.imagefile) ORDER BY imgs.imagesort asc SEPARATOR ',')  as `image_urls_cs`,
null as `image_alt_texts_cs`,
'0' as `delete_existing_images_0_1`,
null as `feature_cs`,
'0' as `available_online_only_0_1`,
LOWER(p.prodcondition) as `condition_`,
'0' as `customizable_0_1`,
'0' as `uploadable_files_0_1`,
'0' as `text_fields_0_1`,
null as `out_of_stock_action`,
null as `virtual_product`,
null as `file_url`,
null as `number_of_allowed_downloads`,
null as `expiration_date`,
null as `number_of_days`,
'1' as `id_name_of_shop`,
null as `advanced_stock_management`,
null as `depends_on_stock`,
null as `warehouse`,
null as `acessories_cs`




FROM isc_products as p
LEFT JOIN isc_brands as brands ON p.prodbrandid=brands.brandid
LEFT JOIN isc_categoryassociations as cats ON p.productid=cats.productid
LEFT JOIN (SELECT * FROM isc_product_images where imagefile NOT like '%_tiny.%' AND ((REPLACE(imagefile,'_thumb.','.')!=imagefile AND REPLACE(imagefile,'_thumb.','.') NOT IN (SELECT imagefile FROM isc_product_images) ) OR REPLACE(imagefile,'_thumb.','.')=imagefile )  ) as imgs ON p.productid=imgs.imageprodid




/*WHERE p.productid=9096*/




group by p.productid;


UPDATE `_mid_products` SET meta_title=REPLACE(meta_title,'>',' ');
UPDATE `_mid_products` SET meta_title=REPLACE(meta_title,'<',' ');
UPDATE `_mid_products` SET meta_description=REPLACE(meta_description,'>',' ');
UPDATE `_mid_products` SET meta_description=REPLACE(meta_description,'<',' ');
UPDATE `_mid_products` SET meta_keywords=REPLACE(meta_keywords,'>',' ');
UPDATE `_mid_products` SET meta_keywords=REPLACE(meta_keywords,'<',' ');
UPDATE `_mid_products` SET `name`=REPLACE(`name`,'>',' ');
UPDATE `_mid_products` SET `name`=REPLACE(`name`,'<',' ');
UPDATE _mid_products SET meta_description=SUBSTRING(meta_description,0,512);

Export it to CSV by just using phpMyAdmin – export function – CSV

Use this query to Export Combinations

SELECT 
pvc.vcproductid as product_id,
'' as productreference,
GROUP_CONCAT(CONCAT(CONCAT(pvo.voname,'-',vovariationid,'-',REPLACE(REPLACE(pv.vname,':','-'),',','-')),':select:',pvo.vovaluesort) ORDER BY pvo.vovaluesort asc SEPARATOR ',' ) as attribute,
GROUP_CONCAT(CONCAT((case when pvo.vovalue='' then '-' else pvo.vovalue end),':',pvo.vooptionsort) ORDER BY pvo.vovaluesort asc SEPARATOR ',' ) as val,
CASE WHEN pvc.vcenabled=1 THEN '999999' ELSE 0 END as qty
FROM  isc_product_variation_combinations pvc




LEFT JOIN isc_product_variation_options pvo ON pvo.vovariationid=pvc.vcvariationid AND FIND_IN_SET(pvo.voptionid,pvc.vcoptionids)
LEFT JOIN isc_product_variations pv ON pvc.vcvariationid=pv.variationid 




/*WHERE pvc.vcproductid=9096*/
WHERE pvc.vcproductid>0
GROUP BY pvc.combinationid;

4 Tips on How to Simplify Your Website Design And Win Over New Customers

4 Changes You Can Implement Today to Simplify Your Website Design and Make It Better 

You will lose clients faster than the speed of light with a terribly cluttered website design.

I mean, just take a look at the next two examples I’m gonna show you.

So here we have a busy website, with no specific focal point, and you don’t really know where to look, and it immediately stresses you out. You lose the client because he clicks off your site.

But then, we compare it to this…

[source]

When I look at this minimalist website design, especially compared to the other, my eyes are immediately set to ease. It’s literally like the inner designer in me just had the most amazing glass of wine and I’m just enjoying myself, admiring the design.

Alright, enough comparisons. Let’s just get things rolling over here.

Into the 4 tips we dive!

1. Simplify the Text

[source]

The most important page of all your website will be your homepage.

It’s the page that will set the tone for the rest of your site.

So it’s important that you get across what you’re trying to say quickly, efficiently, and simply.

There’s no need to clutter your website by writing so much text.

Most people just skim your website anyway! So, write your main text in bold headlines, add some details below, but not too much.

Only a small percentage of people will read the entire thing, so use your headlines to your advantage wisely!

2. Stick To A Color Scheme

[source]

A good color scheme always warms my heart, like grandma’s homemade apple pie on a summer’s day.

Maintaining a color scheme amongst your text, background elements, and images will automatically make you look more organized.

By using a color scheme, you can also bring focus to certain elements and manipulate the eye to go where you want it to.

By no means do you ever want a green font on a bright red background with orange and silver elements floating around the background. Unless you want you website to look like Christmas got a little wild at the Christmas staff party and vomited all over your website.

Go online or on any design inspiration website and type in popular color schemes on 2020, or color palettes, and save time and effort by finding beautiful palettes!

3. Limit Your Homepage To The Essentials

[source]

This kinda goes hand in hand with our first tip about limiting text.

Limit everything on the homepage and only keep what is essential.

Ask yourself, “What am I trying to achieve with this website and the homepage? What am I trying to show the customer?”

When you find the answer to that question, design your homepage accordingly.

Don’t add secondary/tertiary elements to the first bit of the homepage.

That’s what your menu tab and other secondary pages are for!

And speaking of menu tabs…

4. Scale Down Your Menu Tabs

[source]

For the love of simple design, keep your menu bar clean.

You don’t need a menu tab for 👏every 👏single 👏 element 👏of your website.

We’ve seen this way too many times than we’d personally like to admit, but some people give you the option of clicking on 20 different tabs.

As an alternative, create drop-down menu tabs where you have subcategories.

This will keep things squeaky-clean and peaceful for the eyes to look at.

No one will be frantically looking around for what they’re trying to find.

When things on your site and aesthetically pleasing and well-organized, your sales will go up.

Source: webdesignledger.com

Freelancer Help Apps

Project Management

FunctionFox

Zenkit

Prodpad

Kanbanize

Project.co

Plutio

Proggio

Goodday

Eylean

VivifyScrum

nTask

Plan

Taskeo

Nozbe

Communcation & Collaboration

Slido

Flow

Remo

Kipwise

Notejoy

Tettra

Troop Messenger

Jostle

Sanebox

UXPressia

Canvanizer

Productivity

Standuply

Screenful

Planyway

Dynalist

Facilethings

Focus

Krisp

Time Management

Meetfox

Pick

Myhours

Timingapp

Actitime

Spacetime

Nikabot

Hourstack

Apploye

HR

Calamari

Workpuls

Teammood

Heytaco

Password Management

Passbolt

Roboform

Passcamp

Passwork

Other

Hackerparadise

Appwrite gives your project a better starting point by abstracting most of you common backend tasks behind a simple to use REST API.

We need to do things differently, and that’s why we created Appwrite. Appwrite is an open-source backend server that aims to abstract the complexity behind repeating software development tasks.

Appwrite gives your project a better starting point by abstracting most of you common backend tasks behind a simple to use REST API.

Appwrite provides software developers with APIs and SDKs to quickly implement functions that are repetitive across their projects like user authentication, file management, localization, database management, and more.

Appwrite also provides teams with tools like Appwrite Webhooks and Appwrite Background Tasks to allow maximum flexibility and customization to match each and each product and different scenarios different teams might face.

Creating an abstraction layer between complex function and developers. Appwrite

Appwrite comes with built-in and centralized security and is agnostic to the technologies or frameworks developers use to build their apps. Appwrite hides the unnecessary complexity required to make a fast and secure application, allowing teams to create high-end products, quickly and without compromising, features, security, or quality.

By giving software projects a better starting point, we aim to provide software developers with more time to innovate, tackle new problems, and create better products. There is no reason we, as an industry, will keep on struggling with the same old challenges while we can leverage open-source to share solutions and build better and more secure tools or services.

Serverless is great, but it can’t work for every project. Appwrite can replace your backend servers or work alongside them.

It was vital for us to leave the power and the flexibility in the developer’s hands. It’s up for them to decide how they want to set their architecture

It’s important to understand that unlike other serverless solutions, Appwrite does not aim to magically replace backend servers. Instead, it attempts to give new projects a better starting point. Appwrite allows developers to replace or extend their existing backend server functionality by using tools like webhooks and background functions.

You can use Appwrite as a standalone API directly against your client app or together with your own backend servers. Appwrite is unopinionated about the way the developer wishes to use it. We give you the tools to make any decision you want about your app, technology stack, or integrations.



Appwrite dashboard allows developers to monitor and manage their backend activity

What’s Next?

Using Appwrite as a code abstraction layer, we hope to give developers and small to big organizations more time to focus on their products and create more room for innovation. We, as a software industry, should always try and improve, and we hope Appwrite is another step in that direction.

Learn More

You can learn more about Appwrite features, API, and integration by visiting Appwrite official website or Github repository. You can also follow Appwrite news and announcements on our Twitter or Facebook accounts.

Collection of Free Design Rersources

Free Stock Images

Photography has been and will always be a key piece of design. Stock photos are no longer what they used to be, luckily. No longer will you be seeing just those awkward group photos of people laughing or two businessmen shaking hands. 

No, there are so many stock photo sites for you to choose from with quality work from real photographers. Check out these 10 awesome free stock images websites!

Photos generated from AI

https://app.generative.photos/

Unsplash

unsplash free stock images

I want to start this list off with a bang. Unsplash is my personal favorite free stock image website. I use it for everything from article writing to making designs. Unsplash has a huge collection of images, consisting of over 110,000 high-quality free stock images. Just type in a keyword and see hundreds of images that can suit your needs. All images are released under Unsplash’s copyright policy.

Stocksnap

stocksnap website free stock images

Stocksnap has hundreds of new high-quality free stock images added to their library every week. They have stock images to fit just about any occasion you can think of. From website building to brochure making, they having everything you need. You can find any image you need by typing in tag words, and you’ll be presented with hundreds of images that will be perfect for you. All images are free for you to use! 

Pexels

pexels user interface free stock images

Pexels has one of the most beautiful stock images website interfaces I’ve ever seen. Pexels provides tons of high-quality stock images that are free for you to use under their license. With hundreds of thousands of beautiful free images of you to choose from, surely you’ll find what you need here. 

Reshot

reshot free stock images website

Reshot. Uniquely free photos. Handpicked, non-stocky images. Yours to use as you wish”. That’s a pretty self-explanatory and sweet tagline. They work hand-in-hand with amazing professional photographers and give them a great place to display their work and be discovered. Find amazing free stock images on Reshot!

Pixabay

pixa website free stock photos and images

Pixabay has loads of free photos, but not only. They also have art illustrations and vectors. All images, art illustrations vectors, etc are released under Creative Commons CC0.

Life of Pix

life of pix free high quality images stock

Next up, we have Life of Pix. Free high-resolution photography for everyone. Besides having loads of amazing photos to choose from, they also feature a new photographer of the week. Find new photographers whose work you love every week and in turn, have tons of stock photos to choose from! 

Foodiesfeed

food photography free stock images foodies website

Foodiesfeed is for the foodie at heart. Which gorgeous, appetizing stock images that look so delicious that you can almost smell them just by looking at them. If you have a food blog or just need some inspiration, check out this awesome stock image site. 

Gratisography

gratisography website free unique images

Gratisography is for the non-mainstream person. If you’re looking for the complete opposite of the classic boring stock photo, this website is for you. You truly won’t find photos like these anywhere else.

Foca

free stock images foca website

FOCA is a great stock website if you’re looking for a little more than just some stock images. They have everything from free photos to videos and templates! 

Kaboompics

kaboompics website free stock images for blogs

Kaboompics is so aesthetically pleasing, it hurts. The amazing blog pictures are everything. According to their about page, Kaboompics is one of the most popular sources of free images for lifestyle, interior design and specialized bloggers in the world. 

Free Vectors 

Creating your own vectors can take up so much of your precious time, and that’s why finding perfect vector art or vector icons can be a major time-saver, but finding them for free is like finding treasure. That’s why I picked out my 10 favorite free vector websites. Check ‘em out.

Vexels

vexels website vectors free

Vexels has great free vectors for you to use for personal and commercial use. What I really like about their vectors is that many of them are editable. You can get everything from icons to backgrounds and designs that are ready for print. Give them a try!

Vector Stock

free vector stock website

Vector stock has over 300,000 vectors for you to choose from. With such a wide variety of vectors, surely you’ll find something that’ll suit your project and save you loads of time. 

The Noun Project

the noun project website free vectors

The Noun Project can be summed up in icons, icons, icons! They have over 2 million royalty-free vector icons for you to use. And what’s better? You can edit them. That is insane, people. Don’t sleep on the noun-project. They have all those quality things you’re looking for.

Vector 4 Free

vectors 4 free website free vectors

Vector 4 Free has vector art for everyone. Their goal is to share vector art created by professional designers with everyone. They have all sorts of formats, such as .ai format, but also .eps, .pdf, .svg, and even .cdr. All of their vectors are free for personal use, but for commercial use, you have to check each artist’s terms of use, as they all differ. 

Freepik 

Freepik free vector interface

Freepik has over 708,000 free vectors for you to use for personal use and also for commercial use. The styles vary as far as feminine and elegant-looking invitations to vectors that are perfect for backend technology promotion. You’ll find every style you could need here, and you can download everything in .Ai and .EPS formats.

Free Vector

free_vector interface

Free Vector is full of fun and colorful cartoonish vectors. They are basically a world full of free vector art that is simply at your fingertips. Type in your keywords in the search bar to find vectors that suit your style, or scroll to the end of the page and find tons of categories to browse through.

Vecteezy

vecteezy free vectors graphic design

Vecteezy has thousands of gorgeous vector art for you to use. Everything is copyright free, so you never have to worry about that. There are tons of free vectors for you to use, or you can upgrade your account to a pro account and have access to everything at your fingertips. 

Flat Icon

free vector website

Flat Icon is the largest database of free icons that are available in PNG, SVG, EPS, PSD, and BASE 64 formats to date! With a free account, you can access thousands of free icons, or you can upgrade your account and get millions of icons for free. 

Pngtree

png tree website free vectors

Pngtree has wonderful vectors for you to choose from, and with a free account, you have access to 2 daily downloads. Get royalty-free PNG images, vectors, backgrounds, templates, and text effects from Pngtree. 

Free Mockups 

Showing real-life visuals of your work to your client is a vital selling point, and that’s one of the huge reasons that mockups are so crucially important. Here are 10 free amazing mockup websites for you to use for your next project.

Placeit

placeit free mock up platform

Placeit is a site where you can visualize all of your designs on products within seconds. Not only can you just upload your images, but you can also make designs on the platform, and create videos. Create your own design, or try out one of their 32,938 smart templates! 

Smart Mockups

free mockups website

Smart Mockups is the fastest web-based mockup tool out there right now. It’s user-friendly in the manner that advanced designers and beginners alike can use and understand their product. You can use a free account and create 200 mockups and use basic features, or you can upgrade your account and have access to all mockups and features. 

Mockuuups

mockuuups website free mockups

Mockuuups will generate tour product mockups in literally a second. The tool is easy to use, as it is drag-and-drop based. Download the app to your computer to start using. You can use a free account and still have access to lots of features and mockups, or you can upgrade your account to have access to everything! 

Mckups

mckups mockups website free app

Mckups has a beautiful, minimalist interface and beautiful, free mockups for you to use. The mockups are hand-crafted by professional designers and are just waiting for you to use them. 

The Mockup Club

the mock up club website free mockups

The Mockup Club is absolutely free and that might just be my favorite part. It’s a one-stop shop with loads of free mockups for you to use to showcase your lovely designs. 

Psd Repo

free psd mock up website

Psd Repo has every mockup imaginable. From key-chains to shorts, to t-shirts, to protein powder packaging, I think I can safely say they have it all. The mockups are made by talented designers who want to share their work with you for free. Download your favorite mockup as a PSD file and get to designing! 

Mockups Design

mockups design interface free mockup

Mockups Design is an easy-to-use website where designers can find professional mockups for free to use in their next design project. From DVDs and CD to letterheads and brochures. They have lots to choose from.  

Good Mockups

good mock ups website free mock ups

Good Mockups can be summed up about something like this: High-quality, hand-picked, premium mockups for all to use. They strive to have mockups to fit everyone and every design. With an entire list for you to go through, I believe that they are truly well worth your time. 

Mr. Mockup

mr mockups website free mockups

Last but not least, we have Mr. Mockup. They have a team of professional and creative designers working to mockups for everyone. With a vast experience in designing just about anything, you can count on them to find beautiful mockups for your next design project.

Resource: https://webdesignledger.com/free-design-resources/