Tag: development

How to Develop a Simple Tic Tac Toe Game with Spring Boot and AngularJS

Everyone likes to play games, especially the simple ones. Tic tac toe is about as simple as you can get, and despite its age it is still widely played. In the past, the only way to play tic tac toe was on paper; now there are plenty of computerized options. In this article (inspired by our recent post, A Database Model for Simple Board Games ), we’ll present a tutorial on building a tic tac toe web application with Spring Boot and AngularJS. The final code is hosted on GitHub.

Merging Multiple User Accounts

Social media surrounds us, so it’s not unusual for applications to require some kind of social media integration. The most common issigning in with Facebook, Twitter, or another service. Users expect to be able to log in with different social accounts. So, applications meet these expectations by offering external login options.Let’s take a look at this functionality and investigate how to merge users’ accounts – specifically, we’ll consider the situation when people use several methods to log in.

SQLite Tools for Objective-C

The most common way to implement database functionalities in iOS applications is definitely Apple’s Core Data. However, its architecture is really Apple-like: it doesn’t let you see anything happening inside and the structure is hidden from you. That’s why some people dislike Core Data and prefer to stick with an SQLite database – even though SQLite is not supported natively.Fortunately, you are not forced to use core SQLite API in pure C. The iOS developers’ community has already delivered tools to make communication with an SQLite database easier.

How to Store Authentication Data in a Database. Part 4

Handling user registration and authentication isn’t an easy task. Both users and developers understand this. Users have to select and remember another username and password (taking into account different password policies, of course). A developer’s responsibility is to make this process secure and to properly protect the user’s data. So it’s no surprise that logging in with one account – Facebook or Google, for example – is extremely popular. Users gain easy access, and developers can delegate the sensitive process of authenticating users to social media services.

How to Create a Spark REST API With jOOQ

I’ve been testing a ton of frameworks lately – good and otherwise. One of them, the Java micro framework Spark , really amazed me with its simplicity and rapid development capabilities. In this article, we’ll examine an example of Spark’s usefulness by creating a REST API.So, without further ado, let’s see how to store, retrieve, update and delete some information in a PostgreSQL database using jOOQ ORM over a RESTful API in a simple To-do app.

Generate jOOQ Classes With Vertabelo and Gradle

jOOQ is a Java Object-Relational Mapper that lets you build type safe SQL queries through its fluent API. Using built-in Vertabelo support we can generate sufficient code from the previously designed model. Generated Java classes correspond to database tables, records, etc. This time, we automate this process by using Gradle build system.There are two ways to generate ready to use Java classes with Vertabelo : Generate jOOQ classes via Vertabelo XML

Generate jOOQ Classes With Vertabelo and Maven

jOOQ provides an easy way to automate the process of generating the java classes that represent database tables, records, etc. via thejooq-codegen-mavenplugin. This time we let Maven worry about downloading the required JAR files and generating Java code that lets you build typesafe SQL queries through jOOQ’s fluent API.There are two ways to generate ready to use Java classes with Maven and Vertabelo: Generate jOOQ classes via Vertabelo XML

jOOQ and Vertabelo – Getting Started

jOOQ and Vertabelo perfectly complement each other in the application development lifecycle. With Vertabelo you can easily design a database structure that saves you from writing DDL code manually, while jOOQ handles the generation of Java classes corresponding to database tables, and allows to construct SQL queries through its fluent API.The integration of Vertabelo and jOOQ has been the subject of several articles published on our blog. Unfortunately, all of them, including

Setting up a Local Development Environment

How This Tutorial Is OrganizedThe tutorial is divided into four articles: Introduction – Dive into web development with Flask. This article explains the basics of web development with Flask Part I – Setting up a local development environment (You are here) Step 1: Create virtual environment for all required dependencies Step 2: required packages: Flask, psycopg2, SQLAlchemy Step 3: Create requirements.txt file with all dependencies listed

Flask Web-App Development. Part III: Deployment to Heroku

How This Tutorial Is OrganizedThe tutorial is divided into four articles: Introduction – Dive into web development with Flask. This article explains the basics of web development with Flask Part I – Setting up a Local Development Environment Step 1: Create virtual environment for all required dependencies Step 2: required packages: Flask, psycopg2, SQLAlchemy Step 3: Create requirements.txt file with all dependencies listed

Flask Web-App Development. Part II: Application Development

How This Tutorial Is OrganizedThe tutorial is divided into four articles: Introduction – Dive into web development with Flask. This article explains the basics of web development with Flask Part I – Setting up a local development environment Step 1: Create virtual environment for all required dependencies Step 2: required packages: Flask, psycopg2, SQLAlchemy Step 3: Create requirements.txt file with all dependencies listed

Flask Web Application Development. Introduction

How This Tutorial Is OrganizedThe tutorial is divided into four articles: Introduction – Dive into web development with Flask. This article explains the basics of web development with Flask (You are here) Part I – Setting up a local development environment Step 1: Create virtual environment for all required dependencies Step 2: required packages: Flask, psycopg2, SQLAlchemy Step 3: Create requirements.txt file with all dependencies listed

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies.There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

Database Modeling in Scrum Teams

Welcome! This is my first blog entry. I would like to invite you to explore the world of Scrum and databases. I’m a professional Scrum master. During my work, I’ve frequently encountered difficulties when collaborating with others to model a database. I would like to present crucial elements of applying Scrum. I will prove that Scrum is a perfect solution for plenty of teams.A Long Time Ago, in a Galaxy Far Far Away – Waterfall

How to Trigger a Crude CRUD Database Prank

Learning new things should be fun. I’ve read about database triggers multiple times but I didn’t have a chance to use them. Triggers are not popular these days especially in web development. Let’s mix learning and making fun (of others).What is a trigger for? It’s a kind of aspect of programming, an extra business logic executed on a given action. With triggers you can do complex validation, update balance on summary tables, record the who, what and when of changes to data and so on. That’s triggers in a nutshell.

How I Use the Vertabelo API With Gradle

What is Gradle?Gradle is an open source build automation system. It can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else. Learn more about what makes Gradle a compelling choice for build automation.One of the exciting moments in a programmer’s life is to leave legacy code behind and have fun with some new, fresh and cool tools. Today, I have just such an opportunity – I’m creating the structure of a new project in Java.

The Easiest ERD + ORM Integration Ever: Vertabelo and jOOQ

What is jOOQ? jOOQ, which stands for “jOOQ Object Oriented Querying,” is an ORM (object-relational mapping) for Java. With jOOQ you don’t write statements with “SQL-like language”; like Hibernate’s HQL. Instead, you write well designed and intuitive DSL code which, for someone speaking SQL, is obvious and self-explanatory. Read more » Some time ago I announced that the integration of Vertabelo and jOOQ was coming soon. While we’re waiting for an official (stable)

How to Develop a PHP+MySQL Application With Propel and Vertabelo

Propel is a popular ORM (Object-Relational Mapping) library for PHP. Recently, the Vertabelo team started to develop VertabeloPropel , a tool which converts your Vertabelo models into Propel’s schema xml.If you want to try using Propel with Vertabelo to develop a simple PHP MySQL application, here is how to do it. The following example uses Composer , a PHP tool for handling project dependencies.Set up Your ProjectCreate the file composer.json which describes your project dependencies. You will use at least Propel (package propel/propel) and VertabeloPropel (vertabelo/vertabelo-propel) as your project dependencies.

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo , an online tool for visual database design, and our code generator.SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy . As you can see, the script is open source and hosted on

How to Generate Propel’s Schema.xml File From a Database Model Created in Vertabelo

If you use Propel, you can now generate a Propel schema file from a database model created in Vertabelo. Propel is a popular ORM (Object-Relational Mapping) library for PHP. In Propel, the datamodel structure is described by a special schema XML file. From this schema Propel generates PHP object model classes which Propel uses to represent rows in your tables. VertabeloPropel is a PHP script which converts a Vertabelo XML file into Propel’s schema.xml file.

Do We Still Need Server Side Programming?

While developing Vertabelo, which is about database design, I learned Javascript and a lot of new things about SQL. I already knew HTML pretty well. So I recently asked myself a question “do I still need server side programming?”A Brief HistoryThe ‘90s had their own specific version of Internet. Let’s call it 0.9. It consisted of servers filled with HTML documents that were accessed by users via their web browsers. In those days, users were “browsing” the Internet.

Bugs Should Be Fixed Before Being Found

There are many signs that our civilization is on an exponential growth path and, based on my own observations, there are signs of this growth in the area of software engineering. A few days ago yet another Vertabelo user expected an immediate production update for a small bug fix. It led me to think about how often software was released due to bug fixing from the historical point of view. I started in the 80s when personal computers became very popular and, as consequence, a software market for customers was born.

jOOQ – A Really Nice Alternative to Hibernate

In the Java world, there are many standards. Some of them have grown up from commonly used libraries or frameworks. For example, JPA, which was highly influenced by Hibernate.Standards are good. They eliminate chaos and bad practices. But standards shouldn’t be a kind of Bible for developers. A set of tools used in the project should be chosen consciously, not blindly “because it’s a standard and others use it.” It’s like in the business market, where a monopoly causes a lot more harm than good.

Using an SQLite Database on Android Platform A Short FAQ

When developing an application with a SQLite database as persistent storage, it’s worth it (or necessary, in fact) to know some low-level details like: where the data is storedphysicallyand how we can determine if its structure is really the same as what we expect it to be. Being familiar with these things makes it easier and faster to develop, as well as find and fix bugs. I’ll try to explain some of the most frequently asked questions regarding SQLite databases.

Handling Database Structure Changes

In the previous article we wrote a simple Android app allowing the user to manage his ToDo list. He could add new tasks, mark them as done and delete them. That article showed how to create an SQLite DB in an automated way and how to do some simple CRUD operations on it.Let’s say that the first version of an application is released, we distribute it (i.e., it shows up in Google Play), people download and use it. After some time we decide to improve the app. Our goal is to add the ability to prioritize the tasks.

Using an SQLite Database on Android Platform – Introduction

According to the report of the International Data Corporation , Android operating system reached more than 80% market share during the 3rd quarter of 2013. Together with iOS, Android dominates in the mobile devices’ world.This made me think that it may be worth writing a few words about how to create mobile applications for these two mobile platforms. But not the kind of “hello world” applications – there are plenty of tutorials about that. I’d like to focus on the use of local

Some bits about the Vertabelo user interface

I’d like to write something about the Vertabelo user interface. Don’t really know what to cover in this article. A user manual for a rich GUI application is an oxymoron to me. No one reads it and no one should write it. On the other hand, it is too early to write about the libraries that we used. The time is needed to sum up the experience. So, I gotta share with you some inspirations how they affect Vertabelo.

How to Develop a PHP/MySQL Web Application for Mobile Customers Using Vertabelo and Other Cloud Services

I’m gonna show you how to develop a simple web application. From database design to deployment and finally some front end development. Everything will be made in the cloud. There will be no need to install anything on your laptop. Sounds like late night TV commercials? But it’s not :).Database DesignLet’s start with the database design:Log in to  Vertabelo . Sign up if you don’t have an account yet (you can use a free trial).