The Critter web server.
- Echo: High performance, extensible, minimalist Go web framework.
- Ent: Simple, yet powerful ORM for modeling and querying data.
- HTMX: Access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext.
- Alpine.js: Rugged, minimal tool for composing behavior directly in your markup. Think of it like jQuery for the modern web. Plop in a script tag and get going.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom user interfaces.
- PostgreSQL: The world's most advanced open source relational database.
- Redis: In-memory data structure store, used as a database, cache, and message broker.
Ensure the following are installed on your system:
git clone git@github.com:ahashim/server.git
cd server
make up
Note: You might need to run make up
as root due to dockerd
requiring
access to unix domain sockets. More information on that
in their documentation.
From the project root directory:
make run
Access the application in your browser at localhost:8000
.
make reset
This will wipe all the existing data & restart all containers.
make test
This command ensures that the tests from each package are not run in parallel.
This is required since many packages contain tests that connect to the test database which is dropped and recreated automatically for each package.
The following make commands are available to make it easy to connect to the database and cache.
make db
: Connects to the primary databasemake db-test
: Connects to the test databasemake cache
: Connects to the primary cachemake cache-test
: Connects to the test cache