Skip to content

Backend APIs for Medium Clone (Conduit, RealWorld) - NestJS, TypeORM - Hexagonal Architecture - RealWorld Spec compliant

License

Notifications You must be signed in to change notification settings

dev-ahmadbilal/medium-clone-nestjs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medium backend clone

Implementing the Realworld Medium Clone Specifications using TypeORM/Postgres and Hexagonal Architecture.

Documentation

Full documentation here

Roadmap

  1. Add Type and Example in Swagger APIProperty() Decorator

    • Update the Swagger APIProperty() decorator to include type and example properties for better API documentation.
  2. Integrate with Real-World Open Source Third-Party APIs

    • Build a solid architecture for interacting with third-party APIs to ensure seamless and reliable integrations.
  3. Implement the Remaining RealWorld API Specifications

  4. Add Clap Feature for Articles

    • Database: Add a clap table with the following columns: id, article_id (foreign key), user_id (foreign key), and counter, with a composite primary key on article_id and user_id.
    • API to Clap an Article: Create an API endpoint that allows users to clap for an article. Each clap will increment the counter associated with the user and article.
    • Get Articles API Update: Modify the existing "get articles" API to include the total clap count for each article, aggregating claps from all users.
  5. Add Unit Testing and E2E Testing

    • Implement comprehensive unit and e2e tests to ensure code quality and functionality. Leverage Hygen templates to automate the creation of test files where possible, streamlining the testing process.

Features

  • This project is using TypeORM along with PostgreSQL.
  • Seeding.
  • Config Service (@nestjs/config).
  • Mailing (nodemailer).
  • Sign in and sign up via email.
  • Social sign in (Apple, Facebook, Google, Twitter).
  • Admin and User roles.
  • Internationalization/Translations (I18N) (nestjs-i18n).
  • File uploads. Support local and Amazon S3 drivers.
  • Swagger.
  • Support E2E and units tests.
  • Docker.
  • CI (Github Actions).

About

Backend APIs for Medium Clone (Conduit, RealWorld) - NestJS, TypeORM - Hexagonal Architecture - RealWorld Spec compliant

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 79.9%
  • EJS 14.1%
  • JavaScript 2.2%
  • Shell 2.0%
  • Handlebars 1.1%
  • Dockerfile 0.7%