Starting to get the project set up. Nothing is even nearly complete yet.
This commit is contained in:
commit
b6a24bc1ce
59 changed files with 7118 additions and 0 deletions
35
resources/docs/docs.md
Normal file
35
resources/docs/docs.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<div class="bs-callout bs-callout-danger">
|
||||
|
||||
### Database Configuration is Required
|
||||
|
||||
If you haven't already, then please follow the steps below to configure your database connection and run the necessary migrations.
|
||||
|
||||
* Create the database for your application.
|
||||
* Update the connection URL in the `profiles.clj` file with your database name and login.
|
||||
* Run `lein run migrate` in the root of the project to create the tables.
|
||||
* Let `mount` know to start the database connection by `require`-ing youyesyet.db.core in some other namespace.
|
||||
* Restart the application.
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
### Managing Your Middleware
|
||||
|
||||
Request middleware functions are located under the `youyesyet.middleware` namespace.
|
||||
|
||||
This namespace is reserved for any custom middleware for the application. Some default middleware is
|
||||
already defined here. The middleware is assembled in the `wrap-base` function.
|
||||
|
||||
Middleware used for development is placed in the `youyesyet.dev-middleware` namespace found in
|
||||
the `env/dev/clj/` source path.
|
||||
|
||||
### Here are some links to get started
|
||||
|
||||
1. [HTML templating](http://www.luminusweb.net/docs/html_templating.md)
|
||||
2. [Accessing the database](http://www.luminusweb.net/docs/database.md)
|
||||
3. [Setting response types](http://www.luminusweb.net/docs/responses.md)
|
||||
4. [Defining routes](http://www.luminusweb.net/docs/routes.md)
|
||||
5. [Adding middleware](http://www.luminusweb.net/docs/middleware.md)
|
||||
6. [Sessions and cookies](http://www.luminusweb.net/docs/sessions_cookies.md)
|
||||
7. [Security](http://www.luminusweb.net/docs/security.md)
|
||||
8. [Deploying the application](http://www.luminusweb.net/docs/deployment.md)
|
||||
|
|
@ -0,0 +1 @@
|
|||
DROP TABLE users;
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
CREATE TABLE users
|
||||
(id VARCHAR(20) PRIMARY KEY,
|
||||
first_name VARCHAR(30),
|
||||
last_name VARCHAR(30),
|
||||
email VARCHAR(30),
|
||||
admin BOOLEAN,
|
||||
last_login TIME,
|
||||
is_active BOOLEAN,
|
||||
pass VARCHAR(300));
|
||||
68
resources/public/css/screen.css
Normal file
68
resources/public/css/screen.css
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
html,
|
||||
body {
|
||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
height: 100%;
|
||||
}
|
||||
.navbar {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.navbar-brand {
|
||||
float: none;
|
||||
}
|
||||
.navbar-nav .nav-item {
|
||||
float: none;
|
||||
}
|
||||
.navbar-divider,
|
||||
.navbar-nav .nav-item+.nav-item,
|
||||
.navbar-nav .nav-link + .nav-link {
|
||||
margin-left: 0;
|
||||
}
|
||||
@media (min-width: 34em) {
|
||||
.navbar-brand {
|
||||
float: left;
|
||||
}
|
||||
.navbar-nav .nav-item {
|
||||
float: left;
|
||||
}
|
||||
.navbar-divider,
|
||||
.navbar-nav .nav-item+.nav-item,
|
||||
.navbar-nav .nav-link + .nav-link {
|
||||
margin-left: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes three-quarters-loader {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-moz-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes three-quarters-loader {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes three-quarters-loader {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-ms-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
-moz-transform: rotate(360deg);
|
||||
-ms-transform: rotate(360deg);
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
0
resources/public/favicon.ico
Normal file
0
resources/public/favicon.ico
Normal file
21
resources/sql/queries.sql
Normal file
21
resources/sql/queries.sql
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
-- :name create-user! :! :n
|
||||
-- :doc creates a new user record
|
||||
INSERT INTO users
|
||||
(id, first_name, last_name, email, pass)
|
||||
VALUES (:id, :first_name, :last_name, :email, :pass)
|
||||
|
||||
-- :name update-user! :! :n
|
||||
-- :doc update an existing user record
|
||||
UPDATE users
|
||||
SET first_name = :first_name, last_name = :last_name, email = :email
|
||||
WHERE id = :id
|
||||
|
||||
-- :name get-user :? :1
|
||||
-- :doc retrieve a user given the id.
|
||||
SELECT * FROM users
|
||||
WHERE id = :id
|
||||
|
||||
-- :name delete-user! :! :n
|
||||
-- :doc delete a user given the id
|
||||
DELETE FROM users
|
||||
WHERE id = :id
|
||||
56
resources/templates/error.html
Normal file
56
resources/templates/error.html
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Something bad happened</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% style "/assets/bootstrap/css/bootstrap.min.css" %}
|
||||
{% style "/assets/bootstrap/css/bootstrap-theme.min.css" %}
|
||||
<style type="text/css">
|
||||
html {
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
}
|
||||
html body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
html .container-fluid {
|
||||
display: table;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
html .row-fluid {
|
||||
display: table-cell;
|
||||
height: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="col-lg-12">
|
||||
<div class="centering text-center">
|
||||
<div class="text-center">
|
||||
<h1><span class="text-danger">Error: {{status}}</span></h1>
|
||||
<hr>
|
||||
{% if title %}
|
||||
<h2 class="without-margin">{{title}}</h2>
|
||||
{% endif %}
|
||||
{% if message %}
|
||||
<h4 class="text-danger">{{message}}</h4>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
46
resources/templates/home.html
Normal file
46
resources/templates/home.html
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Welcome to youyesyet</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<div class="container-fluid">
|
||||
<div class="card-deck">
|
||||
<div class="card-block">
|
||||
<h4>Welcome to youyesyet</h4>
|
||||
<p>If you're seeing this message, that means you haven't yet compiled your ClojureScript!</p>
|
||||
<p>Please run <code>lein figwheel</code> to start the ClojureScript compiler and reload the page.</p>
|
||||
<h4>For better ClojureScript development experience in Chrome follow these steps:</h4>
|
||||
<ul>
|
||||
<li>Open DevTools
|
||||
<li>Go to Settings ("three dots" icon in the upper right corner of DevTools > Menu > Settings F1 > General > Console)
|
||||
<li>Check-in "Enable custom formatters"
|
||||
<li>Close DevTools
|
||||
<li>Open DevTools
|
||||
</ul>
|
||||
<p>See <a href="http://www.luminusweb.net/docs/clojurescript.md">ClojureScript</a> documentation for further details.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- scripts and styles -->
|
||||
{% style "/assets/bootstrap/css/bootstrap.min.css" %}
|
||||
{% style "/assets/font-awesome/css/font-awesome.min.css" %}
|
||||
{% style "/css/screen.css" %}
|
||||
|
||||
<script type="text/javascript">
|
||||
var context = "{{servlet-context}}";
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
</script>
|
||||
{% script "/js/app.js" %}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue