Implementing the Realworld Medium Clone Specifications using TypeORM/Postgres and Hexagonal Architecture.
-
Add Type and Example in Swagger APIProperty() Decorator
- Update the Swagger
APIProperty()
decorator to include type and example properties for better API documentation.
- Update the Swagger
-
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.
-
Implement the Remaining RealWorld API Specifications
-
Add Clap Feature for Articles
- Database: Add a
clap
table with the following columns:id
,article_id
(foreign key),user_id
(foreign key), andcounter
, with a composite primary key onarticle_id
anduser_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.
- Database: Add a
-
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.
- 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).