Skip to content

Commit

Permalink
setup GH pages for project
Browse files Browse the repository at this point in the history
  • Loading branch information
martinlakov committed Mar 15, 2024
0 parents commit 3f3636e
Show file tree
Hide file tree
Showing 8 changed files with 174 additions and 0 deletions.
63 changes: 63 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# *Getting Started*

Get started by creating a fork of this repository. Do feel encouraged to go above and beoynd when it comes to additional features and enhancements that are not part of this document.

### *Deadline*

* [XX.XX.2024]

### *Submission Guidelines*

Submit the source code of your web server and web client along with any necessary configuration files.
Include documentation detailing how to set up and run the server and client locally on the chosen operating system.
Provide a brief explanation of your design choices, challenges faced, and any additional features implemented.

### *Evaluation Criteria*

* Functionality - Does the web server and client fulfill the requirements outlined in the assignment?
* Code Quality - Are the code for the server and client well-structured, readable, and properly documented?
* User Interface - Is the UI of the web client intuitive and user-friendly?
* Error Handling - How effectively are errors handled throughout the application?
* Security - Are appropriate security measures implemented to protect server resources?

# *Key Objectives*

Implement a web server that interacts with the file system, allowing users to perform basic file operations such as uploading, downloading, renaming files, and navigating through the folder structure.

### *Web Server*

Develop a web server using either Golang, Node.JS, Python or Java. Focus on a single operating system - Linux, Windows or OS X. The server shall be able to flawlessly work with the chosen operating system. All capabilities are to be exposed via HTTP requests and responses.

##### API

* __*[Optional]*__ Create API documentation that provides details about the supported requests and responses.

##### Security Considerations

* __*[Optional]*__ Implement appropriate security measures to prevent unauthorised access to files and server resources.
* __*[Optional]*__ Use techniques such as authentication and authorization to ensure data integrity and confidentiality.

##### File System Interaction

* Implement functionalities to interact with the file system (incl. upload, download, delete, rename) as well as navigating through the folder structure.
* Ensure appropriate error handling for file operations.

### *Web Client*

Create a web client with a simple user interface (UI) to interact with the web server. The web client can be developed using HTML, CSS, and JavaScript (or other). Besides the ability to navigate the file system, it should be also possible to upload, download and rename files. Looks isn't everything... unless we're talking about UI - we'd love to see one that is both intuitive and user-friendly.

##### Folder Navigation

* Allow users to navigate through the folder structure of the file system using the web client.
* Display the current directory and list its contents (files and subfolders) in the UI.
* Provide options for users to navigate into subfolders and navigate back to parent folders.

##### File Manipulation

* Allow users to upload files to the server through the web client.
* __*[Optional]*__ Implement validation to restrict the types and sizes of files that can be uploaded.
* Enable users to download files from the server through the web client.
* Ensure that downloaded files are intact and identical to the original files.
* Provide functionality for users to rename files stored on the server through the web client.
* __*[Optional]*__ Validate user inputs and handle renaming operations securely.

6 changes: 6 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
logo: /assets/img/logo.png
theme: jekyll-theme-minimal
page_title: Ocado Technology
title: Ocado Technology Sofia
favicon: /assets/img/favicon.png
description: Emerging Talents '24 - Advanced Technology
27 changes: 27 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<title>{{ site.page_title }}</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="{{ site.favicon | relative_url }}" >
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
</head>
<body>
<div class="wrapper">
<header>
<img src="{{site.logo | relative_url}}" alt="Logo" />
<h1>{{ site.title }}</h1>
<p>{{ site.description }}</p>
</header>
<section>
{{ content }}
</section>
</div>
<footer>
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
</body>
</html>
63 changes: 63 additions & 0 deletions assets/css/style.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
---

@import "{{ site.theme }}";
header h1 {
color: #267CB9;
}

header p {
font-size: large;
font-weight: bold;
}

a {
text-decoration: underline !important;
}

footer {
width: 100%;
text-align: center;
}


@media (min-aspect-ratio: 3/1) {
footer {
position: relative;
padding-top: 1rem;
}
}

@media (min-aspect-ratio: 4/1) {
header {
position: relative;
}
}

@media print, screen and (max-width: 1280px) and (max-height: 800px) {
.wrapper {
transform: scale(0.9);
transform-origin: center;
}
}

@media print, screen and (min-width: 1600px) and (min-height: 700px) {
.wrapper {
transform: scale(1.2);
transform-origin: center;
}
}

@media print, screen and (min-width: 1900px) and (min-height: 800px) {
.wrapper {
transform: scale(1.5);
transform-origin: center;
}
}

@media (min-aspect-ratio: 2/1) and (max-width: 1280px) and (max-height: 800px) {
footer {
position: relative;
padding-top: 1rem;
}
}
Binary file added assets/img/bots.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
layout: default
---

## [Who are we?](https://careers.ocadogroup.com/locations/europe/development-centre-sofia)

Advanced Technology is a division within Ocado Technology. We focus on the development of strategic and specifically complex and emergent technologies - critical to the future of Ocado & the Ocado Smart Platform.

## [What are we looking for?](https://careers.ocadogroup.com/jobs?locations=Sofia&size=10&sort=relevance&areas=Development_Engineering)

Passionate (under)graduates in Informatics, Computer Science or equivalent. Aptitude for learning, good communication skills, ability to work in a team - these all matter to us. Solid understanding of CS fundamentals - an absolute must. Experience with Git, some IDE, Linux - a definite plus. Detailed information can be found on [our careers website](https://careers.ocadogroup.com/jobs?locations=Sofia&size=10&sort=relevance&areas=Development_Engineering).

## [What's next?](https://github.com/martinlakov/gh-pages-tryout/blob/main/README.md)

We'd love to know more about your skills and passions. If you happen to have some projects that you've contributed to - that's a great place to start. You can [email us](mailto:[email protected]) a link to your GitHub profile right away. In any case - you can get your hands dirty with [this exercise](https://github.com/martinlakov/gh-pages-tryout/blob/main/README.md) that we've prepared and send us a link to your forked repository instead.

0 comments on commit 3f3636e

Please sign in to comment.