Chongkran
Explore NowChonkran is a full-stack recipe management platform designed to bring Cambodian culinary culture to the digital age. The platform enables users to explore, publish, and manage traditional and modern recipes with an intuitive and clean user interface. Built using modern web technologies, Chongkran offers both performance and flexibility for food lovers and content creators alike.

🍲 Chongkran
🔗 Project Links
- Frontend Repository: Chongkran-Frontend
- Backend Repository: Chongkran-Backend
🧰 Tech Stack
Frontend
- Nuxt.js (Vue 3)
- TypeScript
- Tailwind CSS
- Pinia (State Management)
Backend
- NestJS (Node.js Framework)
- TypeScript
- MongoDB
- JWT Authentication (Access & Refresh Tokens)
✨ Key Features
👩🍳 User Features
- Browse and search recipes by category or keyword
- View detailed recipe steps and ingredients
- Save favorite recipes
- Rate and review recipes (planned)
✍️ Creator Features
- Create, edit, and delete personal recipes
- Upload cover images for recipes
- Draft support for unpublished recipes
- "My Recipes" dashboard for authors
🔒 Authentication
- Secure login/logout with JWT
- Refresh token support
- Route and API protection using middleware and guards
👨💻 My Responsibilities
- Frontend Development:
- Built reusable Vue 3 components and layouts using Nuxt 3.
- Integrated Pinia for managing global state like user sessions and recipe lists.
- Set up route protection using Nuxt middleware and navigation guards.
- Designed clean UI with Tailwind CSS, focusing on mobile responsiveness.
- Backend Development:
- Built a RESTful API using NestJS.
- Designed a scalable database schema in MongoDB.
- Implemented secure JWT authentication (login, refresh, token expiration handling).
- Wrote DTOs and validation logic for all API endpoints.
- Developed services and controllers for modular and maintainable code.
- Deployment & Integration:
- Connected frontend with backend
- Environment variable management for development and production.
🧠 What I Learned
- Implemented full JWT-based auth with refresh tokens across the stack.
- Improved my understanding of modular architecture in NestJS.
- Mastered the Nuxt 3 layout system, composables, and middleware structure.
- Wrote cleaner, type-safe code with TypeScript in both frontend and backend.
- Gained experience in backend error handling and validation using NestJS pipes and filters.
🚀 Future Plans
- Enable user comments and reviews for each recipe
- Add pagination and infinite scroll
- Implement an admin dashboard for content moderation
- Add social login (Google, Facebook)
- Improve SEO using Nuxt meta utilities
📜 License
This project is licensed under the MIT License.
🎉 Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
📬 Contact
For any inquiries, reach out to rungsethyhk@gmail.com or open an issue on GitHub.
Happy Coding! 🚀