Perfect Session PostgreSQL Demo

Session demo with PostgreSQL driver

Perfect Sessions Demo, PostgreSQL Driver

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 3.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

This demo shows usage of Perfect Sessions with the PostgreSQL Driver.

Compatibility with Swift

The master branch of this project currently compiles with Xcode 8.1 or the Swift 3.0.1 toolchain on Ubuntu.

Building & Running

This project demonstrates the sessions by setting a very short (10 second) session idle expiry timeout.

The Session ID and stored session data is displayed on the page. Refresh the page to see more random data added to the session. Wait for over 10 seconds and refresh, a new session is started and displayed.

Xcode

We suggest using the Perfect Assistant for managing Server Side Swift projects.

In Perfect Assistant, click “Create New Project”, and select “Custom repository URL”. Choose a location for the project, and enter this URL for “Repository URL”: https://github.com/PerfectExamples/Perfect-Session-PostgreSQL-Demo.git

Once the project has been created, click the “Build > Local” button. This will download all dependencies and create an Xcode Project file for you.

Open this project file, then select the “Executable” scheme (with the black icon).

Now, run the project.

Terminal

The following will clone and build an empty starter project and launch the server on port 8181.

git clone https://github.com/PerfectExamples/Perfect-Session-PostgreSQL-Demo.git
cd Perfect-Session-PostgreSQL-Demo
swift build
.build/debug/Perfect-Session-PostgreSQL-Demo

You should see the following output:

Starting HTTP server on 0.0.0.0:8181 with document root ./webroot

This means the server is running and waiting for connections. Access http://localhost:8181/ to see the greeting. Hit control-c to terminate the server.

Further Information

For more information on the Perfect project, please visit perfect.org.