https://github.com/warfox/products-clj
Full stack app using Clojure / Clojurescript. Create, list, edit and delete products
https://github.com/warfox/products-clj
clojure clojurescript re-frame reitit ring-clojure
Last synced: 9 months ago
JSON representation
Full stack app using Clojure / Clojurescript. Create, list, edit and delete products
- Host: GitHub
- URL: https://github.com/warfox/products-clj
- Owner: WarFox
- License: other
- Created: 2025-04-08T21:55:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-10T15:49:06.000Z (about 1 year ago)
- Last Synced: 2025-04-11T00:18:17.100Z (about 1 year ago)
- Topics: clojure, clojurescript, re-frame, reitit, ring-clojure
- Language: Clojure
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Products App - Full Stack Clojure/ClojureScript
This is a full stack Clojure/ClojureScript application that allows users to
manage products. The app is built using the following technologies:
- Backend: Clojure - [Ring](https://github.com/ring-clojure/ring),
[Reitit](https://github.com/metosin/reitit),
[next.jdbc](https://github.com/seancorfield/next-jdbc/),
[Integrant](https;//github.com/weavejester/integrant), [Muuntaja](https://cljdoc.org/d/metosin/muuntaja/)
- Frontend: ClojureScript - [re-frame](https://day8.github.io/re-frame/),
[Reagent](https://reagent-project.github.io/), [react](https://react.dev/), [tailwindcss](https://tailwindcss.com/)
- Shared: [Malli](https://cljdoc.org/d/metosin/malli/) Schemas
- Database: [PosgreSQL](https://www.postgresql.org/), [Flyway](https://flywaydb.org/) for Migrations
- Testing: Test Containers using [testcontainers-clj](https://github.com/testcontainers/testcontainers-clj)

## Installation
```
git clone git@github.com:WarFox/products-clj
```
## Run the project for dev
1. Start the Backend
```shell
lein run
```
This starts the backend at , it also starts a postgres
database in a container. Docker is needed for this to run.
You may also start the backend using repl using `(go)` function in
`dev/user.clj` file.
2. Start the UI
``` shell
cd ui
npm run watch
```
This starts the frontend at in watch mode for development
3. Start tailwind process
``` shell
cd ui
npm run watch:css
```
## License
Copyright © 2025 Deepu Mohan Puthrote
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the Eclipse
Public License, v. 2.0 are satisfied: GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or (at your
option) any later version, with the GNU Classpath Exception which is available
at .