Tasks

Programming tasks, that I had the pleasure to carry out.

Creating a frontend

Creating frontend for web applications based on the proprietary CMS system. Frontend created on the basis of a layout prepared in HTML, CSS, JavaScript. The template language is Twig, which is the default for the Symfony framework.

Types of web applications for which I created a frontend:

  • landing page
  • company site
  • multilingual company website
  • online shop
  • page with announcements
  • a website such as a web portal
  • multisite; creating and publishing the content of many websites from one administration panel

Typical elements on a web application (website):

  • pages:
    • static pages, index of static pages
      • home page, about us, contact, regulations, privacy policy, GDPR, etc.
  • article page, article index
  • gallery, gallery index
  • news, news index
  • advertisement, advertisement index, advertisement search and filtering
  • portfolio, list of projects in the portfolio
  • events, calendar of events, registration or purchase of an event ticket
  • recipes, recipe index, recipe search and filter
  • sections: header, menu (main, footer), footer, blocks, media
  • contact form
  • popup: with regulations, consent to cookies, marketing content
  • support for Google Maps
  • elements for Search Engine Optimization (SEO); meta title, meta description, meta tags
  • generating sitemap.xml
  • searching for content on the site
  • paging content on the site
  • change the text size
  • light, dark theme or high contrast
  • internet radio on the site
  • frontend for logged in user:
    • user profile editing
    • password change
    • management of favorites
    • adding content
    • delete the profile

Implementation of the online store based on the eCommerce Sylius system:

  • installation and configuration
  • creating a frontend template based on the bootstrap theme: SyliusShopBundle
    • frontend created on the basis of a layout prepared in HTML, CSS, JavaScript
    • the template language is Twig, which is the default for the Symfony framework
  • adjusting the administration panel
  • creating templates for emails
  • adding and configuring plugins: BitBagSyliusCmsPlugin, OdiseoSyliusBlogPlugin

Creating a backend

Creating administration panels for web applications based on the proprietary CMS system. Depending on the rights, the user has access to other panels.

Types of administration panels (CRUD) I have created:

  • management of contacts obtained from the contact form
  • CRM for customer management (e.g. customer notes, invoices, payments, attachments)
  • content management: static pages, articles, blog, ads, gallery, portfolio, promotional coupons
  • content management in different languages (translations)
  • media and document management
  • event management (e.g. bookings and registrations for an event)
  • recipe management, book collection
  • managing notifications for mobile devices (Android, iOS)
  • management of advertisements displayed in the mobile application
  • payment management
  • calculating and showing statistics
  • and many others

Creating commands for the CLI (command line) that execute background tasks on a schedule (see cron).

  • sending emails
  • sending push notifications
  • various calculations: e.g. ad billing, statistics
  • cleaning up the database: e.g. removing inactive users

Communication with users:

  • creating email templates
    • user registration
    • email verification
    • password reset
    • order confirmation
    • confirmation of registration for the event
  • sending emails
    • when the contact form has been correctly completed
    • when booking, registering for an event, etc.
  • sending notifications

Code generators using the Symfony Maker component, improving and accelerating work with repetitive tasks.

Types of code generators and the type of the generated file:

  • template for controller (php)
  • template for entity (php)
  • template for repository (php)
  • template for routes (yaml)
  • template for CRUD panels (html.twig)

File exporters, i.e. generating files to the following formats: xml, pdf, cvs, xls.


API for mobile applications

Creating API for mobile applications based on the proprietary CMS system

Types of mobile applications:

  • application with news and events
  • application with recipes
  • application as a mobile version of a web application (website)
  • book collection management
  • offline appointment scheduling app
  • a loyalty app for a network of ice cream parlors

Typical API for mobile applications:

  • authentication, authorization
  • user management
    • logging in, registration
    • refreshing user tokens (access, refresh)
    • password change and reset
    • user email confirmation
    • user account deletion
    • user profile editing
  • content management (e.g. static pages, news, photo galleries, events, promotional coupons, recipes, menu items)
    • access to the resource collection
    • single resource management (CRUD),
    • searching, filtering, paging
    • versioning of changes, cache
  • managing your favorite content
    • adding or removing etc.
  • making reservations, registration for example for an event
  • validation of data (e.g. from a form) sent by the user

Integrations with external services

  • Internet payments:
    • PayPal
    • Przelewy24
    • PayU
  • XML import; import and synchronization of the product database for the Sylius online store. The product database comes from an external source in XML format
  • User registration and login using external services; Google, Facebook, Apple
  • Sending notifications to mobile devices (Android, iOS) using Google Firebase Cloud Messaging
  • System Hosted SMS (HSMS); bulk SMS sending