diff --git a/assets/js/CreateVacancy.jsx b/assets/js/CreateVacancy.jsx index d10770b69d85bb5e79d2c70c813c16f5163d91f9..d60ea5ca08429e650cb562380b1791f8539101e6 100644 --- a/assets/js/CreateVacancy.jsx +++ b/assets/js/CreateVacancy.jsx @@ -24,6 +24,8 @@ export default class CreateVacancy extends React.Component { this.handleResponsibilities = this.handleResponsibilities.bind(this); this.setCloseTime = this.setCloseTime.bind(this); this.setOpenTime = this.setOpenTime.bind(this); + this.handleDescription = this.handleDescription.bind(this); + this.handleBenefits = this.handleBenefits.bind(this); this.state = { formLoading: false, @@ -34,6 +36,7 @@ export default class CreateVacancy extends React.Component { close_time: moment(), name: '', description: '', + benefits: '', requirements: '', salary: 0, tag: '', @@ -43,6 +46,7 @@ export default class CreateVacancy extends React.Component { Server.get(`/vacancies/${this.state.vacancyId}/`).then((r) => { this.setState({ description: r.description, + benefits: r.benefits, requirements : r.requirements, responsibilities: r.responsibilities, name: r.name, @@ -72,10 +76,15 @@ export default class CreateVacancy extends React.Component { this.setState({ description: value }); } + + handleBenefits(value) { + this.setState({ benefits: value }); + } + handleRequirements(value) { this.setState({ requirements: value }); } - + handleResponsibilities(value) { this.setState({ responsibilities: value }); } @@ -88,6 +97,7 @@ export default class CreateVacancy extends React.Component { data.name = this.state.name; data.tag = this.state.tag; data.description = this.state.description; + data.benefits = this.state.benefits; data.requirements = this.state.requirements; data.salary = this.state.salary; data.open_time = this.state.open_time.format(); @@ -130,6 +140,10 @@ export default class CreateVacancy extends React.Component { }
+ + { !this.state.loading && } + +
{ !this.state.loading && } diff --git a/assets/js/__test__/CreateVacancy-test.jsx b/assets/js/__test__/CreateVacancy-test.jsx old mode 100755 new mode 100644 index 71bc24159866f433afb4be9b62bc5cc512e0cf85..8abf462f71d313983b81d043907abe3d3c7d6dad --- a/assets/js/__test__/CreateVacancy-test.jsx +++ b/assets/js/__test__/CreateVacancy-test.jsx @@ -24,6 +24,7 @@ describe('CreateVacancy', () => { updated: '2017-03-28T07:30:10.535000Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', verified: true, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: 'http://localhost:8001/files/company-logo/8a258a48-3bce-4873-b5d1-538b360d0059.png', address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, @@ -71,6 +72,7 @@ describe('CreateVacancy', () => { createVacancy.setState({ name: 'stub', description: 'stub', + benefits: 'stub', requirements: 'stub', responsibilities: 'stub', }); @@ -89,6 +91,7 @@ describe('CreateVacancy', () => { createVacancy.setState({ name: 'stub', description: 'stub', + benefits: 'stub', requirements: 'stub', responsibilities: 'stub', }); @@ -116,6 +119,7 @@ describe('CreateVacancy', () => { createVacancy.setState({ name: 'stub', description: 'stub', + benefits: 'stub', requirements: 'stub', responsibilities: 'stub', }); @@ -136,6 +140,7 @@ describe('CreateVacancy', () => { createVacancy.setState({ name: 'stub', description: 'stub', + benefits: 'stub', requirements: 'stub', responsibilities: 'stub', }); @@ -165,6 +170,8 @@ describe('CreateVacancy', () => { createVacancy.setState({ name: 'stub', description: 'stub', + benefits: 'stub', + responsibilities: 'stub', requirements: 'stub', responsibilities: 'stub', }); diff --git a/assets/js/__test__/VacancyPage-test.jsx b/assets/js/__test__/VacancyPage-test.jsx index d912278137a8c6a22dd458e155fec48249ae16a8..b13592a7126b36c2fcdabcf35125204f4b275de5 100755 --- a/assets/js/__test__/VacancyPage-test.jsx +++ b/assets/js/__test__/VacancyPage-test.jsx @@ -61,6 +61,7 @@ describe('VacancyPage', () => { updated: '2017-03-28T07:30:10.535000Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', verified: true, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: 'http://localhost:8001/files/company-logo/8a258a48-3bce-4873-b5d1-538b360d0059.png', address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, diff --git a/assets/js/__test__/components/VacancyList-test.jsx b/assets/js/__test__/components/VacancyList-test.jsx old mode 100755 new mode 100644 index b8e7863088041a10d1d1b5619e3742a19b753f85..3e79c55fcec52a0a4db4f298ed4717abf4a44ddc --- a/assets/js/__test__/components/VacancyList-test.jsx +++ b/assets/js/__test__/components/VacancyList-test.jsx @@ -26,6 +26,7 @@ describe('VacancyList', () => { updated: '2017-03-28T07:30:10.535000Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', verified: true, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: 'http://localhost:8001/files/company-logo/8a258a48-3bce-4873-b5d1-538b360d0059.png', address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, @@ -129,12 +130,14 @@ describe('VacancyList', () => { updated: '2017-05-07T13:22:19.175033Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', registeredStatus: 1, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: null, address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, verified: true, open_time: '2017-04-26T03:39:11Z', description: 'deskripsi', + benefits: 'keuntungan', requirements: 'requirements', responsibilities: 'This is a responsibility.', salary: '1', @@ -161,12 +164,14 @@ describe('VacancyList', () => { updated: '2017-05-07T13:22:19.175033Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', registeredStatus: 1, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: 'http://localhost:8000/files/company-logo/8a258a48-3bce-4873-b5d1-538b360d0059.png', address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, verified: true, open_time: '2017-04-26T03:39:11Z', description: 'deskripsi', + benefits: 'keuntungan', requirements: 'requirements', responsibilities: 'This is a responsibility.', salary: '1', @@ -193,12 +198,14 @@ describe('VacancyList', () => { updated: '2017-05-07T13:22:19.175033Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', registeredStatus: 1, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: null, address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, verified: true, open_time: '2017-04-26T03:39:11Z', description: 'deskripsi', + benefits: 'keuntungan', requirements: 'requirements', responsibilities: 'This is a responsibility.', salary: '1', @@ -225,12 +232,14 @@ describe('VacancyList', () => { updated: '2017-05-07T13:22:19.175033Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', registeredStatus: 1, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: null, address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, verified: true, open_time: '2017-04-26T03:39:11Z', description: 'deskripsi', + benefits: 'keuntungan', requirements: 'requirements', responsibilities: 'This is a responsibility.', salary: '1', @@ -257,12 +266,14 @@ describe('VacancyList', () => { updated: '2017-05-07T13:22:19.175033Z', description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla aliquet semper neque a fermentum. Duis ac tellus vitae augue iaculis ultrices. Curabitur commodo et neque nec feugiat. Morbi ac diam vel nunc commodo cursus. Phasellus nulla sapien, hendrerit vitae bibendum at, sollicitudin eu ante. Maecenas maximus, ante eu sollicitudin convallis, mauris nunc posuere risus, eu porttitor diam lacus vitae enim. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse at lectus a elit sollicitudin tempor. Nullam condimentum, justo nec tincidunt maximus, neque mi vulputate leo, sit amet lacinia massa ex eget sem. Duis ac erat facilisis, fringilla mauris in, consequat neque. In et neque consequat, vehicula magna at, efficitur ante. Mauris ac lacinia nibh.\r\n\r\nProin sagittis, lectus quis maximus varius, libero justo sollicitudin augue, non lacinia risus orci a enim. Curabitur iaculis enim quis ullamcorper commodo. Vivamus id nisi rhoncus, dignissim tellus quis, interdum est. Fusce sollicitudin eu libero ac feugiat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas semper posuere ex, sed accumsan libero iaculis faucibus. Fusce laoreet ac ligula ut consectetur. Donec tortor mauris, rutrum at sodales et, viverra in dolor. Sed bibendum elit et maximus volutpat. Phasellus justo ipsum, laoreet sit amet faucibus eu, ultricies suscipit mauris. Nullam aliquam libero eu ante ultrices mattis. Donec non justo hendrerit neque volutpat placerat. Ut euismod est nec sem mollis, sit amet porttitor massa rhoncus. Aenean id erat sit amet nunc ultrices scelerisque non in ipsum. Curabitur sollicitudin nulla id mi accumsan venenatis.', registeredStatus: 1, + benefits: 'Makan siang gratis, Waktu kerja fleksibel, Asuransi kesehatan, Liburan berbayar', logo: null, address: 'Jl. Kebayoran Baru nomor 13, Jakarta Barat', }, verified: true, open_time: '2017-04-26T03:39:11Z', description: 'deskripsi', + benefits: 'keuntungan', requirements: 'requirements', responsibilities: 'This is a responsibility.', salary: '1', diff --git a/assets/js/components/ApplyModal.jsx b/assets/js/components/ApplyModal.jsx old mode 100755 new mode 100644 index 8d0b67b138f2475589e20d248f0bef6041a6d271..2ef5fe3ddbcb8a09b4ed9d4e51570c724d231149 --- a/assets/js/components/ApplyModal.jsx +++ b/assets/js/components/ApplyModal.jsx @@ -83,15 +83,22 @@ export default class ApplyModal extends React.Component {

Deskripsi Perusahaan

{
} +

Tanggung Jawab Lowongan

{
}
+ +

Keuntungan test

+ {
} + +

Persyaratan

{
} +
{this.props.active && (

diff --git a/assets/js/components/Vacancy.jsx b/assets/js/components/Vacancy.jsx old mode 100755 new mode 100644 index a13fcdfae08708b15ca49ee44a0c141822f1d3e2..704349f00c85f8d0b87422707088d741518bc7ef --- a/assets/js/components/Vacancy.jsx +++ b/assets/js/components/Vacancy.jsx @@ -95,6 +95,7 @@ export default class Vacancy extends React.Component { data={{ header: this.props.data.name, description: this.props.data.description, + benefits: this.props.data.benefits, requirements: this.props.data.requirements, companydescription: this.props.data.company.description, responsibilities: this.props.data.responsibilities, diff --git a/core/migrations/0002_vacancy_benefits.py b/core/migrations/0002_vacancy_benefits.py new file mode 100644 index 0000000000000000000000000000000000000000..a519fdf98eaf44a57035c3e37ad89920055bf4d9 --- /dev/null +++ b/core/migrations/0002_vacancy_benefits.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.17 on 2019-10-12 15:05 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='vacancy', + name='benefits', + field=models.TextField(blank=True), + ), + ] diff --git a/core/models/vacancies.py b/core/models/vacancies.py index be9c967b5c62bb1c2a6f1be6879828555671dadc..5444e59ab9e5bc8766c60d4a4ab9255a98defafe 100644 --- a/core/models/vacancies.py +++ b/core/models/vacancies.py @@ -16,6 +16,7 @@ class Vacancy(models.Model): updated = models.DateTimeField(auto_now=True) name = models.CharField(max_length=100, null=False) amount = models.IntegerField(null=True) + benefits = models.TextField(blank=True) working_period = models.CharField(max_length=100, null=True) tag = models.TextField(blank=True) salary = models.IntegerField(default=0) diff --git a/core/serializers/vacancies.py b/core/serializers/vacancies.py old mode 100755 new mode 100644 index b340e3fed9212aa52204a07bebab2ff7cadc627f..5dc7b409df90f089e3487968738d13901c39d622 --- a/core/serializers/vacancies.py +++ b/core/serializers/vacancies.py @@ -33,7 +33,7 @@ class VacancySerializer(serializers.ModelSerializer): class Meta: model = Vacancy fields = ['company', 'verified', 'open_time', 'description', 'close_time', 'created','apply_before', 'updated', 'name', \ - 'status', 'bookmarked', 'id', 'salary', 'responsibilities', 'requirements','working_period'] + 'status', 'bookmarked', 'id', 'salary', 'responsibilities', 'requirements','working_period', 'benefits'] def name_position_validator(names): for name in names.split(" "): diff --git a/core/tests/test_create_vacancies.py b/core/tests/test_create_vacancies.py index ed5840455e7a0598ee99e40e7af35b0e31b1bfad..491e7f63cf9493d6a0b258c641dae806b588d697 100644 --- a/core/tests/test_create_vacancies.py +++ b/core/tests/test_create_vacancies.py @@ -60,6 +60,22 @@ class CreateAndUpdateVacancyTest(APITestCase): vacancy = Vacancy.objects.first() self.assertEqual(vacancy.responsibilities, 'new_vacancy') + def test_new_vacancy_with_benefits_success(self): + superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') + new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, + address=None) + self.client.force_authenticate(user=superuser) + + url = '/api/vacancies/' + response = self.client.post(url, {'company': new_company.pk, 'open_time': self.today, + 'close_time': self.tomorrow, 'name': 'new vacancy', + 'description': 'new_vacancy ', 'amount': 10, 'benefits':'new_vacancy', 'requirements': 'new_vacancy', 'working_period':'3 Bulan'}, format='json') + print(response) + self.assertEqual(response.status_code, status.HTTP_200_OK) + + vacancy = Vacancy.objects.first() + self.assertEqual(vacancy.benefits, 'new_vacancy') + def test_new_vacancy_failed(self): superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, @@ -89,6 +105,21 @@ class CreateAndUpdateVacancyTest(APITestCase): vacancies_count = Vacancy.objects.count() self.assertEqual(vacancies_count, 0) + def test_new_vacancy_with_benefits_failed(self): + superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') + new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, + address=None) + self.client.force_authenticate(user=superuser) + + url = '/api/vacancies/' + response = self.client.post(url, {'company': new_company.pk, 'open_time': self.today, + 'close_time': self.tomorrow, 'name': 'new_vacancy', + 'description': 'new_vacancy ', 'amount': 'sepuluh', 'benefits':'new_vacancy', 'working_period':'3 Bulan'}, format='json') + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + + vacancies_count = Vacancy.objects.count() + self.assertEqual(vacancies_count, 0) + def test_update_vacancy_success(self): superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, @@ -120,6 +151,23 @@ class CreateAndUpdateVacancyTest(APITestCase): vacancy = Vacancy.objects.first() self.assertEqual(vacancy.amount, 10) + def test_update_vacancy_with_benefits_success(self): + superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') + new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, + address=None) + self.client.force_authenticate(user=superuser) + + new_vacancy = Vacancy.objects.create(company=new_company, verified=False, open_time=self.today, + description="lalala", close_time=self.tomorrow, name='new_company') + + url = '/api/vacancies/' + str(new_vacancy.pk) + '/' + response = self.client.patch(url, {'open_time': self.today, 'close_time': self.tomorrow, 'name': 'new_vacancy2', 'description': 'new_vacancy2', 'amount': 10, 'benefits':'new_vacancy2', 'responsibilities': 'new_vacancy2', 'requirements': 'new_vacancy', 'working_period':'3 Bulan'}, format='json') + self.assertEqual(response.status_code, status.HTTP_200_OK) + + vacancy = Vacancy.objects.first() + self.assertEqual(vacancy.benefits, 'new_vacancy2') + + def test_update_vacancy_with_responsibilities_success(self): superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, @@ -208,7 +256,6 @@ class CreateAndUpdateVacancyTest(APITestCase): description="lalala", close_time= self.tomorrow, name='new_company') url = '/api/vacancies/' + str(new_vacancy.pk) + '/' - response = self.client.patch(url, {'open_time': self.today, 'close_time': self.today, 'name': 'new_vacancy2', 'description': 'new_vacancy2', 'requirements': 'new_vacancy2', 'working_period':'3 Bulan'}, format='json') @@ -232,6 +279,22 @@ class CreateAndUpdateVacancyTest(APITestCase): vacancy = Vacancy.objects.first() self.assertEqual(vacancy.amount, None) + def test_update_vacancy_with_benefits_failed(self): + superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') + new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, + address=None) + self.client.force_authenticate(user=superuser) + + new_vacancy = Vacancy.objects.create(company=new_company, verified=False, open_time=self.today, + description="lalala", close_time=self.tomorrow, name='new_company') + + url = '/api/vacancies/' + str(new_vacancy.pk) + '/' + response = self.client.patch(url, {'open_time': self.today, 'close_time': self.tomorrow,'name': 'new_vacancy2', 'description': 'new_vacancy2', 'amount': 'sepuluh', 'benefits':'new_vacancy2', 'requirements': 'new_vacancy', 'working_period':'3 Bulan'}, format='json') + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + + vacancy = Vacancy.objects.first() + self.assertEqual(vacancy.benefits, '') + def test_update_vacancy_with_responsibilities_failed(self): superuser = User.objects.create_superuser('dummy.company', 'dummy.company@company.com', 'lalala123') new_company = Company.objects.create(user=superuser, description="lalalaz", status=Company.VERIFIED, logo=None, @@ -296,4 +359,3 @@ class CreateAndUpdateVacancyTest(APITestCase): vacancy = Vacancy.objects.first() self.assertEqual(vacancy.tag, VACANCY_TAG) - diff --git a/core/tests/test_vacancies.py b/core/tests/test_vacancies.py index ffd832c24da7a286b70b7f2fab0a89f54f361ef5..d43c2588a79a2b36e2f73c55327c119731dd1d60 100755 --- a/core/tests/test_vacancies.py +++ b/core/tests/test_vacancies.py @@ -775,6 +775,7 @@ class ValidationPositionNameinCreateLowonganKP(APITestCase): def test_name_contains_only_alphabets(self): self.payload["name"] = "Engineer" + self.payload["requirements" ] = "lalala" response = self.client.post( self.url, @@ -788,6 +789,7 @@ class ValidationPositionNameinCreateLowonganKP(APITestCase): def test_name_contains_only_alphabets_and_spaces(self): self.payload["name"] = "Software Engineer" + self.payload["requirements" ] = "lala la" response = self.client.post( self.url, diff --git a/core/views/vacancies.py b/core/views/vacancies.py index 7f3124398bd53dd4bdedc3715f80b5673db9674d..b7f35b9ddd5697ab8cb086c9dabde4b49efba0bf 100644 --- a/core/views/vacancies.py +++ b/core/views/vacancies.py @@ -105,6 +105,8 @@ class VacancyViewSet(MultiSerializerViewSetMixin, viewsets.ModelViewSet): elif close_time == open_time: raise ValidationError('Waktu tutup dan buka lowongan tidak boleh sama!') vacancy = Vacancy(company=company, open_time=open_time, close_time=close_time, name=name, description=description, salary=salary, working_period=working_period, tag=tag) + if 'benefits' in data: + vacancy.benefits = data['benefits'] if 'amount' in data: if isinstance(data['amount'], int): vacancy.amount = data['amount'] @@ -141,6 +143,8 @@ class VacancyViewSet(MultiSerializerViewSetMixin, viewsets.ModelViewSet): vacancy.description = description vacancy.working_period = working_period vacancy.responsibilities = data.get('responsibilities') + if 'benefits' in data: + vacancy.benefits = data['benefits'] vacancy.requirements = requirements if 'amount' in data: if isinstance(data['amount'], int): diff --git a/kape/files/student-ui-ux-portofolio/02869b35-8bd9-4d19-ba46-a9459f24fc30.pdf b/kape/files/student-ui-ux-portofolio/02869b35-8bd9-4d19-ba46-a9459f24fc30.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/02869b35-8bd9-4d19-ba46-a9459f24fc30.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/036a22de-d670-43e7-af13-9ffb464ac603.pdf b/kape/files/student-ui-ux-portofolio/036a22de-d670-43e7-af13-9ffb464ac603.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/036a22de-d670-43e7-af13-9ffb464ac603.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/08bbb05c-74b7-401d-9769-980fbbe3654f.pdf b/kape/files/student-ui-ux-portofolio/08bbb05c-74b7-401d-9769-980fbbe3654f.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/08bbb05c-74b7-401d-9769-980fbbe3654f.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/0b19f799-2a60-46bb-9044-e9af161af9b9.pdf b/kape/files/student-ui-ux-portofolio/0b19f799-2a60-46bb-9044-e9af161af9b9.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/0b19f799-2a60-46bb-9044-e9af161af9b9.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/14c63ff2-44a5-4655-b017-4b7bde9be79e.pdf b/kape/files/student-ui-ux-portofolio/14c63ff2-44a5-4655-b017-4b7bde9be79e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/14c63ff2-44a5-4655-b017-4b7bde9be79e.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/183be144-768c-486f-8789-2a81bf7afb1d.pdf b/kape/files/student-ui-ux-portofolio/183be144-768c-486f-8789-2a81bf7afb1d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/183be144-768c-486f-8789-2a81bf7afb1d.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/183de5f4-fcd4-40ff-8ce0-28940811fecc.pdf b/kape/files/student-ui-ux-portofolio/183de5f4-fcd4-40ff-8ce0-28940811fecc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/183de5f4-fcd4-40ff-8ce0-28940811fecc.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/186e65fa-6e8a-438b-bbff-c446cc52be8f.pdf b/kape/files/student-ui-ux-portofolio/186e65fa-6e8a-438b-bbff-c446cc52be8f.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/186e65fa-6e8a-438b-bbff-c446cc52be8f.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/1bc4fcfe-01b8-4bfb-87d2-adb71a82043d.pdf b/kape/files/student-ui-ux-portofolio/1bc4fcfe-01b8-4bfb-87d2-adb71a82043d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/1bc4fcfe-01b8-4bfb-87d2-adb71a82043d.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/20d96f8e-c802-437d-9a81-7570a3e04c09.pdf b/kape/files/student-ui-ux-portofolio/20d96f8e-c802-437d-9a81-7570a3e04c09.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/20d96f8e-c802-437d-9a81-7570a3e04c09.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/2177be2f-37c5-459a-a401-bf83701dccd0.pdf b/kape/files/student-ui-ux-portofolio/2177be2f-37c5-459a-a401-bf83701dccd0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/2177be2f-37c5-459a-a401-bf83701dccd0.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/245ce09a-54d3-4a7a-a48b-f74bb0208018.pdf b/kape/files/student-ui-ux-portofolio/245ce09a-54d3-4a7a-a48b-f74bb0208018.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/245ce09a-54d3-4a7a-a48b-f74bb0208018.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/2957c31f-6827-4b21-8100-be9b7f20080e.pdf b/kape/files/student-ui-ux-portofolio/2957c31f-6827-4b21-8100-be9b7f20080e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/2957c31f-6827-4b21-8100-be9b7f20080e.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/2b4ee769-a501-44d7-8831-47e9ec77fa7f.pdf b/kape/files/student-ui-ux-portofolio/2b4ee769-a501-44d7-8831-47e9ec77fa7f.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/2b4ee769-a501-44d7-8831-47e9ec77fa7f.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/2d935414-2abe-45c1-8b07-3ead5794ebf7.pdf b/kape/files/student-ui-ux-portofolio/2d935414-2abe-45c1-8b07-3ead5794ebf7.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/2d935414-2abe-45c1-8b07-3ead5794ebf7.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/380bdbec-ea7b-4ac4-be34-253dbe92e1a3.pdf b/kape/files/student-ui-ux-portofolio/380bdbec-ea7b-4ac4-be34-253dbe92e1a3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/380bdbec-ea7b-4ac4-be34-253dbe92e1a3.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/3d1078b4-ddec-4d43-920c-42ed30c3e632.pdf b/kape/files/student-ui-ux-portofolio/3d1078b4-ddec-4d43-920c-42ed30c3e632.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/3d1078b4-ddec-4d43-920c-42ed30c3e632.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/4da85270-6599-4aad-ac4e-d2da987907b6.pdf b/kape/files/student-ui-ux-portofolio/4da85270-6599-4aad-ac4e-d2da987907b6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/4da85270-6599-4aad-ac4e-d2da987907b6.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/4ef4c5b1-d96d-4e58-97c6-bbeb863f0e8f.pdf b/kape/files/student-ui-ux-portofolio/4ef4c5b1-d96d-4e58-97c6-bbeb863f0e8f.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/4ef4c5b1-d96d-4e58-97c6-bbeb863f0e8f.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/52ac6864-0da3-477c-896b-9e5dfdae2ad2.pdf b/kape/files/student-ui-ux-portofolio/52ac6864-0da3-477c-896b-9e5dfdae2ad2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/52ac6864-0da3-477c-896b-9e5dfdae2ad2.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/59438b78-e82e-4d4a-9a8a-7149ac6d65bd.pdf b/kape/files/student-ui-ux-portofolio/59438b78-e82e-4d4a-9a8a-7149ac6d65bd.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/59438b78-e82e-4d4a-9a8a-7149ac6d65bd.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/5c7dba89-38c3-4596-a6f4-3d1104eb396a.pdf b/kape/files/student-ui-ux-portofolio/5c7dba89-38c3-4596-a6f4-3d1104eb396a.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/5c7dba89-38c3-4596-a6f4-3d1104eb396a.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/5fdf0fac-290c-4e61-b604-965d259e7d18.pdf b/kape/files/student-ui-ux-portofolio/5fdf0fac-290c-4e61-b604-965d259e7d18.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/5fdf0fac-290c-4e61-b604-965d259e7d18.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/671b4f89-fb1c-481c-82a3-80e65fe21f95.pdf b/kape/files/student-ui-ux-portofolio/671b4f89-fb1c-481c-82a3-80e65fe21f95.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/671b4f89-fb1c-481c-82a3-80e65fe21f95.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/67651acf-194b-45ce-82b1-a3f11c55d8a6.pdf b/kape/files/student-ui-ux-portofolio/67651acf-194b-45ce-82b1-a3f11c55d8a6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/67651acf-194b-45ce-82b1-a3f11c55d8a6.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/684182aa-29db-4071-9635-f31ef42f6730.pdf b/kape/files/student-ui-ux-portofolio/684182aa-29db-4071-9635-f31ef42f6730.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/684182aa-29db-4071-9635-f31ef42f6730.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/6afdf499-60aa-4a32-b55b-79cf72e1bf1d.pdf b/kape/files/student-ui-ux-portofolio/6afdf499-60aa-4a32-b55b-79cf72e1bf1d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/6afdf499-60aa-4a32-b55b-79cf72e1bf1d.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/6b82fdfd-9b0e-49be-9c33-53fb9ec7daa1.pdf b/kape/files/student-ui-ux-portofolio/6b82fdfd-9b0e-49be-9c33-53fb9ec7daa1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/6b82fdfd-9b0e-49be-9c33-53fb9ec7daa1.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/6e4ca7c8-28cd-481b-98f2-bee618c007b4.pdf b/kape/files/student-ui-ux-portofolio/6e4ca7c8-28cd-481b-98f2-bee618c007b4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/6e4ca7c8-28cd-481b-98f2-bee618c007b4.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/6e507ab2-2a81-4ec1-a787-0dadc50f5b87.pdf b/kape/files/student-ui-ux-portofolio/6e507ab2-2a81-4ec1-a787-0dadc50f5b87.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/6e507ab2-2a81-4ec1-a787-0dadc50f5b87.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/701b25e0-b340-47e6-8c94-96c683b679b1.pdf b/kape/files/student-ui-ux-portofolio/701b25e0-b340-47e6-8c94-96c683b679b1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/701b25e0-b340-47e6-8c94-96c683b679b1.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/727a92b5-91bb-4551-af34-c06ea2f8102f.pdf b/kape/files/student-ui-ux-portofolio/727a92b5-91bb-4551-af34-c06ea2f8102f.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/727a92b5-91bb-4551-af34-c06ea2f8102f.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/7601fbc6-8d42-4fe4-9c7e-0a7a0f8d0df8.pdf b/kape/files/student-ui-ux-portofolio/7601fbc6-8d42-4fe4-9c7e-0a7a0f8d0df8.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/7601fbc6-8d42-4fe4-9c7e-0a7a0f8d0df8.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/7c8271c7-87fc-41f9-9372-f53cc4dfccd9.pdf b/kape/files/student-ui-ux-portofolio/7c8271c7-87fc-41f9-9372-f53cc4dfccd9.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/7c8271c7-87fc-41f9-9372-f53cc4dfccd9.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/80f8aef1-4c47-4ae3-a472-4321fed484f0.pdf b/kape/files/student-ui-ux-portofolio/80f8aef1-4c47-4ae3-a472-4321fed484f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/80f8aef1-4c47-4ae3-a472-4321fed484f0.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/95b7be6d-829d-423c-b342-a59ec9f62505.pdf b/kape/files/student-ui-ux-portofolio/95b7be6d-829d-423c-b342-a59ec9f62505.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/95b7be6d-829d-423c-b342-a59ec9f62505.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/9a9a9d6f-456e-4b06-82eb-3f4456e95a57.pdf b/kape/files/student-ui-ux-portofolio/9a9a9d6f-456e-4b06-82eb-3f4456e95a57.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/9a9a9d6f-456e-4b06-82eb-3f4456e95a57.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/a993ecd5-bdd9-421d-a400-83d401fc9be6.pdf b/kape/files/student-ui-ux-portofolio/a993ecd5-bdd9-421d-a400-83d401fc9be6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/a993ecd5-bdd9-421d-a400-83d401fc9be6.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/aa8d55a2-e442-4044-8cf5-23dbcc5f5ce9.pdf b/kape/files/student-ui-ux-portofolio/aa8d55a2-e442-4044-8cf5-23dbcc5f5ce9.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/aa8d55a2-e442-4044-8cf5-23dbcc5f5ce9.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/ab5df4e4-328a-4ac1-bb4a-451bd8f880ee.pdf b/kape/files/student-ui-ux-portofolio/ab5df4e4-328a-4ac1-bb4a-451bd8f880ee.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/ab5df4e4-328a-4ac1-bb4a-451bd8f880ee.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/c0be77d6-d9e1-42fe-92db-2ecf003d487d.pdf b/kape/files/student-ui-ux-portofolio/c0be77d6-d9e1-42fe-92db-2ecf003d487d.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/c0be77d6-d9e1-42fe-92db-2ecf003d487d.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/c63865c2-8efe-458f-857d-6c794ece2b8c.pdf b/kape/files/student-ui-ux-portofolio/c63865c2-8efe-458f-857d-6c794ece2b8c.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/c63865c2-8efe-458f-857d-6c794ece2b8c.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/c985d648-4bc9-4320-a299-5d2c640c93cd.pdf b/kape/files/student-ui-ux-portofolio/c985d648-4bc9-4320-a299-5d2c640c93cd.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/c985d648-4bc9-4320-a299-5d2c640c93cd.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/e22db7d5-0c1f-4ddb-bd5d-c4aae31759b1.pdf b/kape/files/student-ui-ux-portofolio/e22db7d5-0c1f-4ddb-bd5d-c4aae31759b1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/e22db7d5-0c1f-4ddb-bd5d-c4aae31759b1.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/e5fcdfc8-c5a7-4cdf-8024-28933e07bdfd.pdf b/kape/files/student-ui-ux-portofolio/e5fcdfc8-c5a7-4cdf-8024-28933e07bdfd.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/e5fcdfc8-c5a7-4cdf-8024-28933e07bdfd.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/e6fed596-b8d0-4354-bfcd-7f783af4a907.pdf b/kape/files/student-ui-ux-portofolio/e6fed596-b8d0-4354-bfcd-7f783af4a907.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/e6fed596-b8d0-4354-bfcd-7f783af4a907.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/e705363f-9259-4be1-99bf-6cdb4551b5c9.pdf b/kape/files/student-ui-ux-portofolio/e705363f-9259-4be1-99bf-6cdb4551b5c9.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/e705363f-9259-4be1-99bf-6cdb4551b5c9.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/e99e681b-e427-47e1-9b4f-f1d65fa78dd6.pdf b/kape/files/student-ui-ux-portofolio/e99e681b-e427-47e1-9b4f-f1d65fa78dd6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/e99e681b-e427-47e1-9b4f-f1d65fa78dd6.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/efec859d-4ff1-4967-80c6-86cec31705a3.pdf b/kape/files/student-ui-ux-portofolio/efec859d-4ff1-4967-80c6-86cec31705a3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/efec859d-4ff1-4967-80c6-86cec31705a3.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/f1098365-0067-43bf-a4cb-3cfb44c48945.pdf b/kape/files/student-ui-ux-portofolio/f1098365-0067-43bf-a4cb-3cfb44c48945.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/f1098365-0067-43bf-a4cb-3cfb44c48945.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/f1ea4d11-e79e-4ac3-84ad-434ac1589726.pdf b/kape/files/student-ui-ux-portofolio/f1ea4d11-e79e-4ac3-84ad-434ac1589726.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/f1ea4d11-e79e-4ac3-84ad-434ac1589726.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/f2a03d9c-7a7e-4e5b-8b63-af3d9a5fff18.pdf b/kape/files/student-ui-ux-portofolio/f2a03d9c-7a7e-4e5b-8b63-af3d9a5fff18.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/f2a03d9c-7a7e-4e5b-8b63-af3d9a5fff18.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/f51279b9-4647-4bf8-b544-a235eb32b41c.pdf b/kape/files/student-ui-ux-portofolio/f51279b9-4647-4bf8-b544-a235eb32b41c.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/f51279b9-4647-4bf8-b544-a235eb32b41c.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file diff --git a/kape/files/student-ui-ux-portofolio/f9155d22-6fa7-4019-913d-0ec35c99f3e2.pdf b/kape/files/student-ui-ux-portofolio/f9155d22-6fa7-4019-913d-0ec35c99f3e2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6276bf234b75b65b79ce4f7fd1ce4f10f08c58ba --- /dev/null +++ b/kape/files/student-ui-ux-portofolio/f9155d22-6fa7-4019-913d-0ec35c99f3e2.pdf @@ -0,0 +1,10 @@ +%PDF-1.5 +%¿÷¢þ +2 0 obj +<< /Linearized 1 /L 14052 /H [ 687 124 ] /O 6 /E 13777 /N 1 /T 13776 >> +endobj + +3 0 obj +<< /Type /XRef /Length 50 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 2 15 ] /Info 11 0 R /Root 4 0 R /Size 17 /Prev 13777 /ID [<0dee3c1023b1623a4f502dfbb20e769e><0dee3c1023b1623a4f502dfbb20e769e>] >> +stream +xœcbdàg`b`8 $˜–‚XF@‚±DÜq ½Õ ® \ No newline at end of file