Event planner web app with authentication/authorisation, internationalisation and full type-safety done using the stack mentioned below. Containerised using Docker and deployed to Render. Front-end build with React, bundled and then served as static files from Hono. Both front-end and back-end live in the same repo.
A user can log in with their social account (Google/GitHub), fill a form and create an event - title, description, date and time, after which they'll be redirected to a list of events. They can view a preview of the events, expand an event and see the whole information, edit all fields of an event and delete an event.
Bun - Runtime environment / Package manager
Hono - HTTP Server
Zod - Validation
Drizzle - ORM
Tanstack - Router, Query and Form
Tailwind - CSS Framework
Neon Postgres - Database
React - Frontend library
Vite - Build tool
Docker - Bundle and deploy
Better-Auth - Auth
Render - Deployment (using Docker container)
ShadCN - Components
Motion - Landing page animations
i18next - Internationalisation
!!! Important: You need Bun installed
- Navigate to a directory from terminal
- Fork the repo and then in the terminal run
git clone https://github.com/floydrise/event-planner.git && cd event-planner bun install && cd frontend && bun install && cd ..- You'd need to set up a local postgres db, fill the .env.example file and then rename it to .env
bun run dev- Open a new terminal or a second tab and
cd frontend && bun run dev - Both server and frontend should be running at the same time
- Navigate to
http://localhost:5173/, that is where the frontend runs, there is a proxy set up, all calls to backend are sent to the frontend.
!!! Important: no environment variables are set in the Dockerfile, you'd need to modify it if you want to run the project using Docker
- cd into the main folder
- Run
docker build --pull -t event-planner .(dot included at the end) - Run
docker run -d -p 3000:3000 event-planner - Navigate to
http://localhost:3000/
Please consider giving the project a star ⭐️