kemal_jennifer_sample_app
Version, currently master branch1 version
- master branchlatestJan 8, 2019
github.com/imdrasil/kemal_and_jennifer_sample_app
No description declared in shard.yml.
17 stars
0 dependents
License: UNLICENSED
Installation
# Add this to your shard.yml
dependencies:
kemal_jennifer_sample_app:
github: imdrasil/kemal_and_jennifer_sample_app
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
0.27.0- License
- UNLICENSED
- Author
- Roman Kalnytskyi <moranibaca@gmail.com>
- Target
kemal_jennifer_sample_appfrom src/app.cr
Dependencies
Runtime Dependencies
- pg*github: will/crystal-pg
- sam*github: imdrasil/sam.cr
- kemal*github: kemalcr/kemal
- pager*github: imdrasil/pager
- slang*github: jeromegn/slang
- carbon*github: luckyframework/carbon
- jennifer~> 0.7.0github: imdrasil/jennifer.cr
- view_model~> 0.2.0github: imdrasil/view_model.cr
- form_object~> 0.2.0github: imdrasil/form_object
- kemal-session*github: kemalcr/kemal-session
- flash_container*github: imdrasil/flash_container.cr
- kemal-session-redis*github: crisward/kemal-session-redis, branch: master
- http_method_emulator*github: imdrasil/http_method_emulator
Development Dependencies
- spec-kemal*github: kemalcr/spec-kemaldev
- email_opener*github: imdrasil/email_openerdev
README
# Jennifer + Kemal sample application This is a project presenting efficient integration of [Jennifer](https://github.com/imdrasil/jennifer.cr) ORM and [Kemal](http://kemalcr.com) web framework. This project is inspired by [Ruby on Rails Tutorial sample application](https://bitbucket.org/railstutorial/sample_app_4th_ed). ## Getting Started To get started with the app, clone the repo and then install the needed dependencies: ```shell $ cd /path/to/repos $ git clone git@github.com:imdrasil/spider-gazelle_jennifer_sample_app.git $ cd spider-gazelle_jennifer_sample_app $ shards $ make setup ``` The last command copies `./config/database.yml.example` to `./config/database.yml`. All database parameters are located in `./config/database.yml` - complete them with your own values. Next do the database setup. ```shell $ make sam db:setup ``` This will automatically create development database, run all migrations and populate seeds. To start a dev server run in a separate console tabs next commands: ```shell $ make server $ make webpack ``` ### NOTES Proposed controller-based architecture for a Kemal application is just a one of possible solutions and shouldn't be considered as best practice. ### Dependencies This is the lists of top-level application dependencies. * [kemal](https://github.com/kemalcr/kemal) - web framework used to build this application; * [kemal-session](https://github.com/kemalcr/kemal-session) - session support for kemal; * [kemal-session-redis](https://github.com/crisward/kemal-session-redis) - redis engine for kemal session; * [jennifer](https://github.com/imdrasil/jennifer.cr) - ORM with DB migrating tool; * [sam](https://github.com/imdrasil/sam.cr) - task/script manager (is used only for some commands - Amber provides own CLI); * [pg](https://github.com/will/crystal-pg) - PostgreSQL driver; * [carbon](https://github.com/luckyframework/carbon) - email library; * [form_object](https://github.com/imdrasil/form_object) - library provides Form Object pattern - allows to move all parameter parsing and data validating logic outside of models and controllers; * [pager](https://github.com/imdrasil/pager) - simple pagination library; * [view_model](https://github.com/imdrasil/view_model.cr) - View-Model layer - allows to encapsulate all view-related logic in a separate classes and brings HTML helper methods. * [slang](https://github.com/jeromegn/slang) - template language; * [http_method_emulator](https://github.com/imdrasil/http_method_emulator) - library to emulate all HTTP methods by sending method name in `_method` query parameter in `POST` request; * [flash_container](https://github.com/imdrasil/flash_container.cr) - simple flash messages container. #### Development dependencies * [email_opener](https://github.com/imdrasil/email_opener) - opens all sent emails in a browser tab; * [spec-kemal](https://github.com/kemalcr/spec-kemal) - test helpers for a kemal app. ## Tests TBA ## TODO * [ ] implement "Remember me* using cookies * [ ] cover functionality with tests * [ ] 404 and 500 pages; "rescue from" functionality ## Contributing 1. Fork it ( https://github.com/imdrasil/test/fork ) 2. Create your feature branch ( `git checkout -b my-new-feature` ) 3. Commit your changes ( `git commit -am 'Add some feature'` ) 4. Push to the branch ( `git push origin my-new-feature` ) 5. Create a new Pull Request ## Contributors - [imdrasil](https://github.com/imdrasil) Roman Kalnytskyi - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Jan 8, 2019
- Crystal
0.27.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/imdrasil/kemal_and_jennifer_sample_app
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 1