.NET

Couchbase로 실제 웹 애플리케이션을 구축하는 방법

4 분 읽기

One great benefit of open-source projects lies in their ability to encourage a diverse and collaborative learning environment. They allow developers from different backgrounds to compare and contrast methodologies, and most importantly, learn from each other. One such open-source initiative, which is changing the way we view demo apps, is the RealWorld project.

The mother of all demo apps: RealWorld

Introducing the RealWorld Project

The RealWorld project is an open-source specification for a medium.com clone called ‘Conduit.’ It allows any developer to create both backend and frontend implementations of the spec. Through this platform, you can see how the exact same application is constructed using different languages, frameworks, and databases.

While demo apps play a crucial role in understanding the functionalities of frameworks and databases, their implementations often lack practicality. These applications are scattered all over, making it challenging to locate and compare. The RealWorld project aims to improve the landscape and make it easier for developers to get started.

Conduit medium clone with Couchbase

What is Conduit?

The project has developed a specification for both frontend and backend applications. This specification creates a clone of Medium.com, a social blogging site, known as ‘Conduit’.

conduit: specification for both frontend and backend applications.

Contributors can implement frontends or backends in the languages, frameworks, and databases of their choice. Since they all adhere to the same specification, frontends and backends can be interchanged.

At present, there are approximately 100 backend examples available on the site, employing 20 languages and a multitude of frameworks.

My Contribution: Building with ASP.NET + Couchbase

Inspired by this initiative, I embarked on a journey to build an ASP.NET + Couchbase implementation. Upon completion, this project will be submitted to the RealWorld index site, offering .NET developers a solid starting point for creating their own applications with Couchbase.

ASP.NET + Couchbase implementation

This project will include a suite of automated tests, ensuring that the project remains maintainable and up-to-date. Another unique feature is its construction: it is being built live and in public, on Twitch.tv.

Live Building on Twitch.tv

Why Twitch? It’s a home to a sizable “live coding” community. The live coding sessions allow others to join in, watch, chat, contribute, and even collaborate. However, I am considering branching out to other live video platforms such as 유튜브 and LinkedIn shortly.

Twitch: The Live Coders

As an added bonus, I am using LLM tools like 챗GPT 그리고 GitHub Copilot Chat to experiment with ways to build this project faster. I aim to help developers understand the pros and cons of these tools along the way.

All the live streams are recorded and subsequently posted on YouTube, thus creating a rich repository of resources for developers worldwide. Shorter, summary videos are also being created. You can check out the playlist of summary videos or browse a collection of video links in the GitHub README.

A Blueprint for Future Contributions

This project aims to establish a blueprint for future contributions using other languages and frameworks. We can commence with the Conduit spec and add all Couchbase-specific details and architectural choices. For instance, for those new to Couchbase, it’s not always clear how to model data (embed? refer?) and which data operations to use (key-value? SQL++?)

Good News for Non-.NET Developers!

For those not building with .NET, fret not! There are already two completed projects using other languages and frameworks.

This project uses Node.js (JavaScript), along with the Express.js web framework, the Ottoman.js ODM, and Couchbase.

  • 자바 (created by Marlo Aquino and jericho161616)

This project uses Java, with Spring Boot, Spring Data, and Couchbase.

To get started with running these Conduit apps, I recommend first signing up for Couchbase Capella. It is the most straightforward and easy way to get started in your database journey.

If you have any questions or want to share your status along the way, join the discussion on the Couchbase Discord.

이 기사 공유하기

작가

매튜 D. 그로브스는 코딩을 정말 좋아하는 사람입니다. C#, jQuery, PHP 등 어떤 언어든 상관없이, 그는 무엇이든 풀 리퀘스트를 제출합니다. 그는 90년대에 부모님이 운영하던 피자 가게를 위해 QuickBASIC으로 POS(판매 시점 관리) 앱을 개발한 이래로 줄곧 전문 프로그래머로 활동해 왔습니다. 현재는 Couchbase에서 선임 제품 마케팅 매니저로 근무하고 있습니다. 여가 시간에는 가족과 함께 시간을 보내거나, 레즈(Reds) 경기를 관람하며, 개발자 커뮤니티 활동에 참여합니다. 그는 『AOP in .NET』과 『Pro Microservices in .NET』의 저자이자 Pluralsight 저자이며, Microsoft MVP이기도 합니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

개발 시작하기

NoSQL을 탐색하고, 리소스를 찾아보고, 튜토리얼을 시작하려면 개발자 포털을 확인하세요.

카펠라 프리 사용하기

단 몇 번의 클릭으로 카우치베이스(Couchbase)를 직접 체험해 보세요. Capella DBaaS는 시작하기 가장 쉽고 빠른 방법입니다.

연락해

Couchbase 제품군에 대해 더 알고 싶으신가요? 저희가 도와드리겠습니다.