1001 Freelance Projects
Свежие проекты с фриланс-бирж
Сегодня: 03-May-2024 10:31 GMT
Просмотр проекта
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Название проекта: Сделать капчу
Кто разместил: Внешний проект с weblancer.net
Открыт: 08-Nov-2021 10:23 GMT
Описание: Сделать капчу 20ч 200$
<?php
/**
* Rendering HTML code (UI)
*
*
*/
function psp_show_page_header( $remain = false ) {
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Проверка Страховой Принадлежности</title>
<?php
psp_get_styles();
?>
<script type="text/javascript" src="assets/jquery-3.4.1.min.js"></script>
<script type="text/javascript" src="assets/daterangepicker/moment.min.js"></script>
<script type="text/javascript" src="assets/daterangepicker/daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="assets/daterangepicker/daterangepicker.css"/>
<?php
psp_show_ajax_code( $remain );
?>
</head>
<!-- <body>
<div id="wrap-<?php echo psp_get_page(); ?>">
-->
<?php
//echo '<div><h2>' . psp_get_pages( psp_get_page() ) . '</h2></div>';
}
function psp_get_styles() {
?>
<link rel='stylesheet' href='styles.css' type='text/css' media='all'/>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
text-align: center;
padding-left: 1em;
padding-right: 1em;
}
h2 {
/*margin: 0 1em 1em 1em;*/
margin: 0;
color: #444;
}
#wrap-home #psp-content,
#wrap-single_form #psp-content,
#wrap-group_form #psp-content,
#wrap-view_single #psp-content {
margin: 0 auto;
width: 40%;
min-width: 400px;
/*padding: 0.5em 3em 3em 3em;*/
}
@media screen and (max-width: 900px) {
#wrap-home #psp-content,
#wrap-single_form #psp-content,
#wrap-group_form #psp-content,
#wrap-view_single #psp-content {
width: 80%;
}
}
/* Tables */
.psp-table {
width: 100%;
text-align: left;
font-size: 0.8em;
border-collapse: collapse;
/*border: solid 3px #fff;
border-top: #eee solid 2px;*/
border: #bbb solid 1px;
margin-top: 1em;
margin-bottom: 1em;
padding-top: 1em;
}
.psp-table th,
.psp-table td {
padding: 0.6em;
border: #bbb solid 1px;
}
.psp-table th {
background-color: #eee;
}
/* Log */
#psp-view-full {
overflow: auto;
}
span.req-status-1 {
color: green;
}
.req-status-2,
.req-status-3 {
color: red;
}
/* CSV */
.psp-csv-errors {
margin-bottom: 2em;
}
.psp-csv-errors tr td:first-of-type {
text-align: center;
}
/* Zapros */
table.psp-viewer {
text-align: left;
/*margin-bottom: 1em;*/
width: 100%;
}
table.psp-viewer td {
padding: 0.6em;
}
table.psp-viewer td:first-of-type {
min-width: 11em;
width: 35%;
font-weight: bold;
background-color: #e0e0e0;
}
table.psp-viewer td:last-of-type {
background-color: #f5f5f5;
}
/* Forms */
.psp-form {
width: 100%;
background-color: #eee;
border: solid 3px #ddd;
}
.psp-form table {
width: 100%;
}
.psp-form .psp-label {
margin-top: 0.7em;
margin-bottom: 0.4em;
}
.psp-form input,
.psp-form input,
.psp-form select,
.psp-form .psp-upload-file {
padding: 0.4em;
width: 70%;
font-size: 1em;
letter-spacing: 0.04em;
}
.psp-form select {
width: 72%;
}
.psp-form .psp-upload-file {
background-color: #fff;
display: inline-block;
}
.psp-form button {
width: 72%;
margin: 0.5em;
background-color: #0088cc;
border-radius: 2px;
border: none;
display: inline-block;
cursor: pointer;
color: #ffffff;
font-size: 1em;
padding: 0.8em;
text-decoration: none;
/*text-shadow: 0px 1px 0px #3d768a;*/
}
.psp-form button:hover {
background-color:#026799;
}
form#psp-search input,
form#psp-search select {
padding: 0.3em;
}
/* Buttons */
a.psp-small-button,
button.psp-small-button {
display: inline-block;
background-color: #0088cc;
color: #fff;
padding: 0.5em;
text-decoration: none;
border: none;
border-radius: 4px;
font-size: 90%;
}
button.psp-small-button {
padding: 0.3em 0.6em 0.3em 0.6em;
}
a.psp-small-button:hover,
button.psp-small-button:hover {
background-color: #026799;
cursor: pointer;
}
#psp-history-search {
float: right;
padding: 0 0 1em 1em;
}
/* Navigation */
.psp-navigation table {
border-collapse: collapse;
border: none;
background-color: #fff;
}
.psp-navigation td {
background-color: #008080;
transition-property: background-color;
transition-duration: 0.3s;
}
.psp-navigation td:hover {
background-color: #c2f4f4;
}
.psp-navigation td:hover a {
color: #000;
}
.psp-navigation a {
display: inline-block;
padding: 0.5em;
text-decoration: none;
color: #fff;
}
#psp-nav-bar {
width: 100%;
background-color: #eeeeee;
/*overflow: auto;*/
padding: 0;
margin-top: 2em;
}
#psp-nav-bar table {
/*float: right;*/
margin: 0 0 0 auto;
}
#psp-nav-bar table:last-child td {
border-left: #fff solid 4px;
}
#psp-nav-menu table{
margin: 0 auto;
}
#psp-nav-menu td {
border-top: solid 0.5em #fff;
padding: 0.5em;
}
/* Pagination links */
.pagination {
display: inline-block;
}
.pagination a {
color: black;
background-color: #fff;
float: left;
padding: 5px 12px;
text-decoration: none;
border: 1px solid #ddd;
}
.pagination a.active {
background-color: #444;
color: white;
border: 1px solid #444;
}
.pagination a:hover:not(.active) {background-color: #ddd;}
.pagination a:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.pagination a:last-child {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.pagination a.arrows {
/*font-size: 140%;
font-weight: 600;*/
}
</style>
<?php
}
function psp_show_footer() {
global $psp_start;
if ( $psp_start ) {
echo "\n".'<!-- Page generation time: ' . ceil( ( microtime( true ) - $psp_start ) * 1000 ) . ' ms -->';
}
echo "\n" . '<!-- User ID: ' . psp_get_user_id() . ' -->';
echo "\n" . '<!-- Version: ' . PSP_VERSION . ' -->';
if ( $range = psp_get_request_field( 'date_range_search', false ) ) {
$range = explode( '-', $range );
$range = array_map( 'strip_tags', $range );
$range = array_map( 'trim', $range );
$range = array_filter( $range );
}
else {
$range = array( 0, 0 );
}
//echo date('d.m.Y',strtotime('01.04.2016'));
?>
<!-- </div> -->
<script>
window.picker_date_begin = "<?php echo $range ?>";
window.picker_date_end = "<?php echo $range ?>";
// See config examples here: http://www.daterangepicker.com/
$('input').daterangepicker({
"maxDate": moment(),
//maxYear: parseInt(moment().format('YYYY'),10),
ranges: {
'Сегодня': ,
'Вчера': ,
'Последние 7 дней': ,
'Последние 30 дней': ,
'Этот месяц': ,
'Предыдущей месяц':
},
alwaysShowCalendars: true, // always show calendar if ranges are enabled
showCustomRangeLabel: false,
// Set selected range
startDate: (picker_date_begin !== "0" ? picker_date_begin : moment().subtract(6, 'days')),
endDate: (picker_date_end !== "0" ? picker_date_end : moment()),
locale: {
format: 'DD.MM.YYYY',
cancelLabel: 'Отмена',
applyLabel: 'Установить',
monthNames: ,
}
});
</script>
</body>
</html>
<?php
}
function psp_render_page() {
global $request;
//psp_show_messages();
?>
<body>
<div id="wrap-<?php echo psp_get_page(); ?>">
<div id="psp-content">
<?php
echo '<div style="background-color: #eee; padding: 0.5em; margin-bottom: 1em;"><h2>' . psp_get_pages( psp_get_page() ) . '</h2></div>';
psp_show_messages();
if ( CSV_Processor::has_errors() ) {
echo CSV_Processor::get_csv_errors();
echo '<p><a class="psp-small-button" href="?render_page=group_form">Загрузить другой файл</a></p>';
}
else {
switch ( psp_get_page() ) {
case 'home':
psp_show_home();
break;
case 'single_form':
psp_single_form( $request );
psp_show_history();
break;
case 'single_log':
psp_show_history( 'full' );
break;
case 'view_single':
psp_show_single( $request );
break;
case 'group_form':
psp_group_form();
break;
case 'group_log':
psp_show_group_history();
break;
case 'group_view':
psp_show_history( 'full' );
break;
}
psp_show_nav_bar();
}
?>
</div>
</div>
<?php
psp_show_footer();
}
function psp_get_pages( $page = null ) {
$ret = array(
'home' => array( 'Проверка Страховой Принадлежности', 0 ),
'single_form' => array( 'Индивидуальный Запрос', 1 ),
'single_log' => array( 'Журнал Индивидуальных Запросов', 1 ),
'view_single' => array( 'Карточка Запроса', 0 ),
'group_form' => array( 'Групповой Запрос', 1 ),
'group_log' => array( 'Журнал Групповых Запросов', 1 ),
'group_view' => array( 'Журнал Группового Запроса', 0 ),
);
if ( $page ) {
if ( isset( $ret ) ) {
return $ret;
}
return false;
}
return $ret;
}
function psp_show_nav_bar() {
global $request;
$pages = psp_get_pages();
$config = array( 'single_log', 'group_form' );
$config = array( 'single_form', 'group_form' );
$config = array( 'single_form', 'single_log', 'group_form' );
$config = array( 'group_log', 'single_form' );
$config = array( 'group_form', 'single_form', 'single_log' );
$config = array( 'group_form', 'group_log' );
$buttons = array();
if ( empty( $config ) ) {
return;
}
foreach ( $config as $key ) {
$buttons = '<a href="?render_page=' . $key . '">' . $pages . '</a>';
}
if ( psp_get_page() != 'view_single' ) {
$home = '<table style="float: left;"><tr><td><a href="' . psp_get_home() . '">Главная</a></td></tr></table>';
}
else {
$home = '';
}
echo '<div id="psp-nav-bar" class="psp-navigation">' . $home . '<table><tr><td>' . implode( '</td><td>', $buttons ) . '</td></tr></table></div>';
}
function psp_show_home(){
$pages = psp_get_pages();
$buttons = array();
foreach ( $pages as $key => $config ) {
if ( $config != 1 ) {
continue;
}
$buttons = '<a href="?render_page=' . $key . '">' . $config . '</a>';
}
echo '<div id="psp-nav-menu" class="psp-navigation"><table><tr><td>' . implode( '</td></tr><tr><td>', $buttons ) . '</td></tr></table></div>';
}
function psp_show_single( $id ) {
if ( ! $req = psp_db_get_request( $id ) ) {
// TODO не отображается на данном этапе
psp_user_error( 'Запрос не найден' );
echo 'Запрос не найден';
return;
}
$req = (object) $req;
$req_data = array();
$req_data = array( 'Отправлен', psp_date( $req->req_created ) );
$req_data = array( 'Статус', psp_get_status( $req->req_status ) );
foreach ( psp_get_request_fields() as $field => $config ) {
if ( $field == 'dul_type' ) {
$val = psp_dul_type( $req->$field );
}
else {
$val = $req->$field;
}
$req_data = array( $config, $val );
}
$req_data = array( 'GUID', $id );
$table = '<table class="psp-viewer">';
foreach ( $req_data as $tr ) {
$table .= '<tr><td>' . $tr . '</td><td>' . $tr . '</td></tr>';
}
$table .= '</table>';
echo $table;
$resp = array();
if ( $req->req_status ) {
$response = unserialize( $req->response );
foreach ( psp_get_response_fields( $response ) as $key => $config ) {
if ( $config ) {
$resp = array( $config, htmlspecialchars( $response ) );
}
}
}
$table = '<table class="psp-viewer">';
foreach ( $resp as $tr ) {
$table .= '<tr class="req-status-' . $req->req_status . '"><td>' . $tr . '</td><td>' . $tr . '</td></tr>';
}
$table .= '</table>';
echo $table;
if ( ! psp_is_group() ) {
echo '<p style="text-align: right"><a class="psp-small-button" href="?render_page=single_form&id=' . $id . '">Редактировать</a></p>';
}
}
function psp_show_history( $view = 'short' ) {
global $request;
if ( $view == 'short' ) {
if ( ! PSP_SHOW_LAST ) {
return;
}
$limit = PSP_SHOW_LAST;
$offset = 0;
$total = false;
$show_footer = false;
}
else {
$limit = PSP_PER_PAGE;
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$total = true;
$show_footer = true;
}
$requests = psp_db_get_history( $limit, $offset, $total );
if ( ! $requests ) {
return;
}
$header = '';
$search_form = '';
$results = '';
$footer = '';
if ( $view == 'short' ) {
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$results .= '<tr><td>' . implode( '</td><td>',
array(
psp_date( $req->req_created ),
'<a href="?render_page=view_single&id=' . $req->id . '">' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '</a>',
$req->born,
psp_get_status( $req->req_status )
) ) . '</td></tr>';
}
}
else {
$header = array(
'Дата запроса',
'ФИО',
'Дата рождения',
'Документ',
'Статус',
'ЕНП',
'Регион',
'Страховая компания'
);
if ( ! psp_is_group() ) {
unset( $header );
}
$header = '<tr><th>' . implode( '</th><th>', $header ) . '</th>';
//$header = '<tr><th>Дата запроса</th><th>ФИО</th><th>Дата рождения</th><th>Документ</th><th>Статус</th><th>Регион</th><th>Страховая компания</th></tr>';
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$data = array();
if ( ! empty( $req->response ) ) {
$data = unserialize( $req->response );
}
$reg = htmlspecialchars( psp_array_get( $data, 'Region', '' ) );
$sk = htmlspecialchars( psp_array_get( $data, 'InsuranceOrganization', '' ) );
$row = array(
psp_date( $req->req_created ),
'<a href="?render_page=view_single&id=' . $req->id . '&group_id=' . psp_get_group_id() . '">' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '</a>',
$req->born,
$req->dul_ser . ' ' . $req->dul_num . ' ' . psp_dul_type( $req->dul_type ),
psp_get_status( $req->req_status ),
$reg,
$sk
);
if ( psp_is_group() ) {
$enp = htmlspecialchars( psp_array_get( $data, 'UnitedPolicyNumber', '' ) );
$row = array_merge( array_slice( $row, 0, 5 ), array( 5 => $enp ), array_slice( $row, 5 ) );
}
$results .= '<tr><td>' . implode( '</td><td>', $row ) . '</td></tr>';
}
}
$text = '';
if ( $group_id = psp_get_group_id() ) {
$gr = psp_db_get_group_request( $group_id );
$text = '<p style="font-weight: bold;">' . $gr . '</p>';
}
if ( psp_is_search() ) {
$text .= '<p style="font-weight: bold;">Результаты поиска <i>' . htmlspecialchars( $request ) . '</i></p>';
}
if ( $results ) {
if ( $show_footer ) {
$search_form = psp_search_form();
$footer = psp_page_navi( $total );
}
$results = '<table class="psp-table psp-history">' . $header . $results . '</table><div style="text-align: right;" class="psp-table-footer">' . $footer . '</div>';
}
else {
if ( psp_is_search() ) {
$text .= '<p style="text-align: center;">По вашему запросу ничего не найдено</p>';
$search_form = psp_search_form();
//$text .= '<p><a href="' . psp_remove_args( array_keys( psp_get_search_fields() ) ) . '">Назад к журналу</a></p>';
}
elseif ( $view != 'short' ) {
$text .= '<p style="text-align: center;">Журнал пуст</p>';
}
else {
return;
}
}
if ( psp_is_search() ) {
$text .= '<p><a href="' . psp_remove_args( array_keys( psp_get_search_fields() ) ) . '">Назад к журналу</a></p>';
}
echo '<div id="psp-view-' . $view . '">' . $text . $search_form . $results . '</div>';
}
function psp_search_form() {
global $request;
$preserve_fields = array( 'render_page', 'group_id' );
$fields = '';
foreach ( $preserve_fields as $name ) {
if ( isset( $_GET ) ) {
$fields .= '<input type="hidden" name="' . $name . '" value="' . $_GET . '">';
}
}
$search_form = '<div id="psp-history-search">
<form action="" id="psp-search">
<input type="text" name="date_range_search" size="23">
<input type="text" name="fio_search" placeholder="Начальные буквы ФИО" value="' . htmlspecialchars( psp_get_request_field( 'fio_search', '' ) ) . '"> ' .
psp_dropdown_select( 'status_search', array(
0 => 'Отправлен',
1 => 'Получен ответ'
), psp_get_request_field( 'status_search', 1 ) ) .
' <button type="submit" class="psp-small-button">Поиск</button>' .
$fields .
'</form></div>';
return $search_form;
}
function psp_single_form( $id = null ) {
$fields = psp_get_request_fields();
$data = array();
if ( $id && ( $req = psp_db_get_request( $id ) ) ) {
$data = $req;
}
$rows = '';
foreach ( $fields as $field => $config ) {
$val = isset( $data ) ? $data : null;
if ( $field == 'dul_type' ) {
$f = psp_dropdown( $val );
}
else {
$atts = '';
$atts .= ! empty( $config ) ? 'placeholder = "' . $config . '"' : '';
$atts .= ! empty( $config ) ? 'pattern = "' . $config . '"' : '';
$atts .= ! empty( $config ) ? 'title = "' . $config . '"' : '';
$f = '<input type="text" name="' . $field . '" value="' . $val . '"' . $atts . ' required>';
}
$rows .= '<tr><td><p class="psp-label">' . $config . '</p>' . $f . '</td></tr>';
}
?>
<div class="psp-form">
<form method="post" action="">
<table>
<?php
echo $rows;
?>
</table>
<input type="hidden" name="request_type" value="single">
<p>
<button type="submit">Направить Запрос</button>
</p>
</form>
</div>
<?php
}
function psp_show_group_history() {
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$limit = PSP_PER_PAGE;
$where = null;
$total = psp_dbs()->querySingle( 'SELECT COUNT(ROWID) FROM ' . USER_CSV_TBL );
if ( ! $total ) {
$total = 0;
}
$requests = psp_dbs()->query( 'SELECT * FROM ' . USER_CSV_TBL . ' ORDER BY group_created DESC LIMIT ' . $limit . ' OFFSET ' . $offset );
if ( ! $requests ) {
return;
}
$results = '';
$header = '<tr><th>Дата запроса</th><th>Наименования запроса</th><th>Число вложенных запросов</th><th>Получено ответов</th><th>Статус</th><th>Выгрузка</th></tr>';
while ( $group = $requests->fetchArray() ) {
$group = (object) $group;
//$status = ( $group->is_complete ) ? 'Получен ответ' : 'Отправлен';
/*if ( $group->is_complete ) {
$status = '<span class="req-status-' . $group->is_complete . '">Получен ответ</span>';
$export = '<a href="?export=csv&group_id=' . $group->id . '">Выгрузить</a>';
}
else {
$status = 'Отправлен';
$export = '';
}*/
list( $status, $export ) = psp_get_group_attributes( $group );
$results .= '<tr id="psp-group-id-' . $group->id . '" class="psp-group-row"><td>' . implode( '</td><td>',
array(
psp_date( $group->group_created ),
'<a href="?render_page=group_view&group_id=' . $group->id . '">' . ' ' . $group->group_name . '</a>',
$group->req_num,
$group->received_num,
$status,
$export,
) ) . '</td></tr>';
}
if ( $results ) {
$footer = psp_page_navi( $total );
$results = '<table class="psp-table psp-history">' . $header . $results . '</table><div style="text-align: right;" class="psp-table-footer">' . $footer . '</div>';
}
else {
$results = '<p style="text-align: center;">Журнал пуст</p>';
}
echo '<div id="psp-view-full">' . $results . '</div>';
}
/**
* @param $group array|object
*
* @return string
*/
function psp_get_group_attributes( $group ) {
if ( is_array( $group ) ) {
$group = (object) $group;
}
if ( $group->is_complete ) {
$status = '<span class="req-status-' . $group->is_complete . '">Получен ответ</span>';
$export = '<a href="?export=csv&group_id=' . $group->id . '">Выгрузить</a>';
}
else {
$status = 'Отправлен';
$export = '';
}
return array( $status, $export );
}
function psp_group_form() {
?>
<div class="psp-form">
<form method="post" action="" enctype="multipart/form-data">
<table>
<tr>
<td><p class="psp-label">Наименование запроса</p><input type="text" value="" name="group_name" required></td>
</tr>
<tr>
<td><p class="psp-label">Выберите файл</p><span class="psp-upload-file"><input type="file" value="" name="group_file" required></span></td>
</tr>
</table>
<input type="hidden" name="request_type" value="group">
<p>
<button type="submit">Направить Запрос</button>
</p>
</form>
</div>
<?php
}
function psp_dropdown( $selected = null ) {
$options = array();
$sel = ( $selected !== null ) ? $selected : PSP_DEFAULT_DUL;
foreach ( psp_dul_type() as $key => $value ) {
$s = ( $key == $sel ) ? 'selected' : '';
$options = '<option value="' . $key . '" ' . $s . '>' . htmlspecialchars( $value ) . '</option>';
}
return '<select name="dul_type">' . implode( "\n", $options ) . '</select>';
}
/**
* @param string $name
* @param array $list
* @param null $selected
*
* @return string
*/
function psp_dropdown_select( $name, $list, $selected = null ) {
$options = array();
foreach ( $list as $key => $value ) {
$s = '';
if ( $selected !== null && (string) $key === (string) $selected ) {
//$s = ( $key === $selected ) ? 'selected' : '';
$s = 'selected';
}
$options = '<option value="' . $key . '" ' . $s . '>' . htmlspecialchars( $value ) . '</option>';
}
return '<select name="' . $name . '">' . implode( "\n", $options ) . '</select>';
}
function psp_get_status( $s = 0 ) {
$r = array( 'Отправлен', 'Получен', 'Ошибка', 'Ошибка СМЭВ' );
return '<span class="req-status-' . $s . '">' . $r . '</span>';
}
Project ID: 4154035
Категория проекта:
Бюджет проекта:
Подробный просмотр проекта (вы будете перенаправлены на сторонний сайт)
Последние проекты / Все проекты
  Проект Открыт
Реализация backend (API) для стартап проекта на Golang / Mongo DB
Категория: Go, Базы данных
03-May-2024
10:07 GMT
Створення шаблонів для e-mail розсилок 4 шт
Категория: E-mail, маркетинг, Веб-дизайн
03-May-2024
10:06 GMT
Необходим дизайн интерфейса мобильного приложения - 1000UAH
Категория: Дизайн мобильных приложений, Иконки и пиксельная графика
03-May-2024
10:05 GMT
Написание текста для корпоративного сайта
Категория: Тексты, Копирайтинг
03-May-2024
10:01 GMT
Створення ТЗ на закупівлю тканин, згідно ДСТУ - 1000UAH
Категория: Поиск и сбор информации, Рукоделие и хендмейд
03-May-2024
10:00 GMT
Парсер fb
Категория: Python, Парсинг данных
03-May-2024
09:59 GMT
Сверстать 1 страницу FIGMA
Категория: Программирование и IT
03-May-2024
09:59 GMT
Разработать иконку для мобильного приложения
Категория: Графический дизайн
03-May-2024
09:56 GMT
разработать Лединг на движке Netcat 5.2 с развитием в полноценный сайт.
Категория: Веб разработка
03-May-2024
09:56 GMT
Разработать флаер для суши-бара - 2000UAH
Категория: Баннеры, Полиграфический дизайн
03-May-2024
09:55 GMT
Розробка мобільної гри Ludo
Категория: Разработка игр
03-May-2024
09:55 GMT
Создание сайта frontend и backend - имеется UX/UI дизайн.
Категория: Веб разработка
03-May-2024
09:54 GMT
Webflow ecommerce site - 1000UAH
Категория: Дизайн интерфейсов, Интернет-магазины и электронная коммерция
03-May-2024
09:51 GMT
Разработка на Ларавел
Категория: Программирование, Веб-программирование
Бюджет: 2000 руб
03-May-2024
09:50 GMT
Упаковка , визитка , подарочный сертификат, тейбл тент
Категория: Дизайн, Дизайн упаковки
Бюджет: 6000 руб
03-May-2024
09:50 GMT
Все проекты
Проекты по навыкам ...
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Читать RSS-ленты ... Новое!
Проекты 'android'
Проекты 'ajax'
Проекты 'asp'
Проекты 'aspnet'
Проекты 'cms'
Проекты 'cpp'
Проекты 'csharp'
Проекты 'css'
Проекты 'delphi'
Проекты 'design'
Проекты 'drupal'
Проекты 'excel'
Проекты 'facebook'
Проекты 'flash'
Проекты 'html'
Проекты 'java'
Проекты 'javascript'
Проекты 'joomla'
Проекты 'iphone'
Проекты 'mysql'
Проекты 'photoshop'
Проекты 'php'
Проекты 'python'
Проекты 'ruby'
Проекты 'seo'
Проекты 'sql'
Проекты 'sysadm'
Проекты 'translate'
Проекты 'typing'
Проекты 'twitter'
Проекты 'vbnet'
Проекты 'xml'
Проекты 'wordpress'
Проекты 'writing'
Проекты 'texts'
Новое!
Projects in English
Короткий URL:
1001fp.ru
Мобильная версия:
m.1001freelanceprojects.ru
Copyright © 2005-2022 1001 Freelance Projects