A dead simple ticket service web app. Made in about a month from scratch as a university project.
More screenshots are here
Ticketer is built on top of these languages, frameworks, and tools:
- Backend:
- Go
- iris web-framework
- Frontend:
- Typescript
- Sveltekit
- Database:
- PostgreSQL
To get started deploying Ticketer for whatever reason. You can follow the steps below.
After installing the requirements, you have to setup your environment for both the backend and frontend.
-
Create a new database in Postgres.
-
Rename
config.example.yaml
toconfig.yaml
and update everything to match with your requirements. (Especially thejwt_key
anddatabase
) -
Rename
.env.example
from thefrontend/
folder to.env.local
and updateAPI_HOST
withapi_addr
you've set from step 0.2.
# Build the backend.
go build .
# Run the server.
./Ticketer
# or .\Ticketer.exe if you're on Windows.
Ticketer doesn't come with an admin panel or anything like that; it just reads the movies from the database. so you have to add them yourself.
With that said, I already added a few random movies in sql/mock/movies.sql
. execute it in your database.
You can also see the movie assets used for this sample data in the static/movie
folder.
# Install the dependencies
pnpm install
# Build the frontend
pnpm build
# Preview
pnpm preview --port 5173
Keep in mind that the backend is hardcoded to use port 5173 for proxying the frontend, so if you're not using it behind a reverse proxy, be sure to use this port for the frontend.
Now open up the backend host (api_addr
from step 0.2
) in your browser and explore this project!