Git Product home page Git Product logo

jkniest.de's People

Contributors

jkniest avatar

Watchers

 avatar  avatar

jkniest.de's Issues

Finishing up

The last steps to a full release:

  • Build all assets in production setting
  • Update the upper image
  • Configure envoyer to deploy to the production server
  • ???
  • Profit.
  • Set github repository to public

Filter by tag

If a user clicks on a tag (within the project detail view) a new overview page should open that contains all projects with the same tag.

Certificates, Qualifications

Beneath the CV all my qualifications and certificates should be listend. These should also be fetched via xing api.

Multilanguage

The site should be available in English and German. The default language should be selected based on the browser language

In theory, the user should be able to change the language if the correct URL will be called: /lang/{code}.

Include sentry

Include the service sentry to fetch all errors automatically.

First steps

Backend

  • Create laravel application
  • Initial push to the master-branch
  • Create develop-branch
  • Create a staging server
    • Add domain to forge
    • Add Let's Encrypt certificate
  • Include package: Laravel Debugbar
  • Include package: Laravel Decomposer
  • Include package: Pretty Routes
  • Include package: ForceHttps
  • Include package: sneaker
  • Integrate travis for unit and feature testing
  • Integrate phpcs file
  • Add laravel cron scheduler to homestead
  • Add laravel cron scheduler to forge
  • Include MailTrap smtp into homestead
  • Include dummy smtp data into staging server
  • Create "docs" directory
    • Insert SVG logo
  • Add readme file

Frontend

RSS Feeds

Implement RSS feeds that contains all projects.

Package: https://github.com/spatie/laravel-feed

The RSS feed result needs to be cached and only changed when the command "projects:load" is run. The projects will be sorted by their creation time / date.

Contact form

Beneath the "cv / twitter" section there should be a simple contact form. This form allows the user to enter a subject, their e-mail address and a custom message.

This message will be sent via e-mail to me.

CV

A new area left to the twitter feeds should be added. This is a dynamic cv, means that all work experience and schools are loaded via xing.

Twitter Integration

Beneath the contact section there should be a list of all my related twitter posts. These posts should be fetched via the public api. The cache should clear itself every hour.

To handle OAuth requests, package: https://github.com/thujohn/twitter

Footer

A simple footer:

  • Copyright 2017 Jordan Kniest, etc..
  • Links to Imprint and Privacy policy

Laravel framework update v5.5

Update the laravel framework core to v5.5

Additional steps:

  • Implement the $console->load method in the Console Kernel
  • Using the test trait RefreshDatabase instead of DatabaseMigrations
  • Use default withoutExceptionHandling method in tests, instead of custom implementation

PDF CV

A PDF should be generated based on the Xing work experiences. The CV should regenerate itself every two hours (via cronjob). There should be a PDF button beneath the cv on the page.

Project page

A page to view specific details about a project:

  • Default header without menu (instead a single link: Back to overview)
  • Media slider with thumbnail previews
    • Images and Videos
  • Project information (Name and tags)
  • Include specific project view
  • A little meta info box
    • Show the year when it was created
    • Show any additional meta information

Contact form

Beneath the About me section there should be a small contact form.

  • Form:
    • Name (Required)
    • E-Mail (Required)
    • Subject (Required)
    • Message (Required)
    • Captcha code (Recaptcha, Required, see No-Captcha)
  • Contact messages will be sent via e-mail to me
  • Ajax request
    • Show related error messages
    • Show a success message

Projects

Projects are not stored in the database for simplicity right know. All projects are single classes that can be configured inside the config files.


Every project consists of:

  • a name (example: My Portfolio)
  • a slug (example: my-portfolio)
  • a specific view (example: my-portfolio.blade.php)
  • meta tags (example: [portfolio, myself, hello])
  • media files (images, youtube-videos, vimeo-videos, ..)
  • a short description (example: This is my portfolio)
  • a cover image (media file)
  • year (when was it created, example: 2005)
  • additional meta info (key, value)

  • Artisan command: php artisan make:project
    • Generate php file: app/projects/{name}.php
    • Generate media folder media/{name}/
    • Generate view file: resources/views/projects/partials/specific/{name}.blade.php
  • Custom config file: portfolio.php
  • Three arrays: featured, medium, other
  • Artisan command: php artisan media
    • For all media files: Save scaled down versions inside the storage directory
    • Add this method to the forge and envoyer deploy scripts
    • Add this as a cronjob that runs every two hours
  • Warnings if app.debug is true
    • If the featured array does have more than 2 entries
    • If the medium array does have more than 3 entries
  • The projects are rendered with the cover image and name
    • Featured projects does have a hover effect: The short description will be shown
    • A link should redirect to a project specific page
  • The project boxes should fade in while scrolling

Downloadable files

A project can contain downloadable files. These files will be stored inside a "files/" directory and added via an array.

All files will be shown beneath the custom view or in the info panel.

Portfolio Package

Extract all portfolio related methods to it's own package (e.g. jkniest/Portfolio).

Contact me section

Beneath the projects, there should be an About me section

  • Bigger image of me
  • Big title: Get in touch
  • Static text
  • Contact / Socal media buttons
    • E-Mail
    • Twitter
    • Xing
    • LinkedIn

Link list

Every project can have a few links. The links will be shown beneath the custom view and a loaded favicon.

Header

The header should be fixed.

  • Header image (myself)
  • A two-line title (Hi, I am [..] Jordan!)
  • A small menu (jumping to the right location)
    • Projects
    • About me
    • Contact

Dynamic titles

The titles should be dynamic (like Jordan Kniest - GENA-Render)

Small layout additions

  • Hover preview should be clickable
  • Hover preview should contain some base informations (like language, framework)
  • Meta box should contain "Development pattern" (TDD)
  • Add Github link in footer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.