Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Enhance docs #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
fulleni merged 31 commits into main from enhance_docs
Jul 26, 2025
Merged

Enhance docs #5

fulleni merged 31 commits into main from enhance_docs
Jul 26, 2025

Conversation

@fulleni
Copy link
Member

@fulleni fulleni commented Jul 26, 2025

No description provided.

fulleni added 30 commits July 26, 2025 18:10
- Update sidebar navigation links in astro.config.mjs
- Remove core-philosophy.md, deployment-guides.md, and getting-started.md files
- Add new navigation items for introduction, local setup, and deployment guides
- Comment out core philosophy item in sidebar navigation
- Create new API reference index page with general information
- Add sections for base URL, authentication, and standard responses
- Include cards for authentication and data access endpoint guides
- Use consistent formatting and AstroJS components for layout
- Added a new card on the API server homepage
- Card links to the API reference section
- Provides a complete reference for all API endpoints and data models
- Detail endpoints for sign-in, sign-up, and session management
- Include request/response formats and error handling
- Cover anonymous sign-in, current user retrieval, sign-out, and account deletion
- Describe the generic data access endpoint for CRUD operations
- List supported models and endpoint usage
- Detail query parameters for filtering, sorting, and pagination
- Provide examples for different request methods (GET, POST, PUT, DELETE)
- Explain success and error responses for each operation
- Create new documentation page for core data models used across the API
- Describe common fields shared by all primary data models
- Provide detailed information for User, Headline, Topic, Source, and Country models
- Introduce standardized error response format
- Define common error codes and their descriptions
- Specify HTTP status codes associated with each error code
- Add Error Handling to Features section
- Add Core Data Models to Advanced section
- Add API Reference section with Overview, Authentication, and Data Access
- Remove core data models entry from advanced section in sidebar
- Add core data models entry to api reference section in sidebar
- Rename file path from advanced to api-reference for core-models.mdx
- Create new markdown file for configuring the .env file
- Explain purpose and setup of environment variables for API server
- Detail required variables: DATABASE_URL, JWT_SECRET_KEY, SENDGRID_API_KEY, DEFAULT_SENDER_EMAIL, OTP_TEMPLATE_ID
- Include instructions for generating and obtaining API keys
- Cover
- Create new markdown file for MongoDB configuration instructions
- Include step-by-step guide for setting up MongoDB using Docker
- Explain how to update .env file for API server connection
- Provide helpful tips and command explanations
- Explain how to set up Cross-Origin Resource Sharing for the API server
- Describe default CORS configuration for development
- Provide instructions for configuring CORS in production
- Emphasize the importance of using a specific origin instead of a wildcard
- Include troubleshooting steps for CORS errors
- Create new markdown file explaining how to replace default SendGrid email client
- Detail process for creating custom email client implementation
- Provide example of logging-only email client for development/testing
- Explain how to integrate custom email client into dependency injection setup
- Create new documentation page for understanding database seeding
- Describe how the API server automatically seeds the database on startup
- Explain the role of AppDependencies.init() and DatabaseSeedingService
- Detail the process of ensuring indexes and upserting data
- Define key concepts like 'upsert' and idempotency
- Mention the use of fixture data from the core package
- Add a new step in the local setup guide for automatic database seeding
- Explain that the seeding process is idempotent
- Include a link to the "Understand Database Seeding" guide for more details
... reduced prescriptiveness
- Outline two main Docker deployment strategies: pre-built image and deploying from source
- Refocus on essential steps and link to official documentation for hosting providers
- Improve flow and clarity of the guide
- Move CORS configuration to a separate step with a link to a how-to guide
- Add a new card to the CardGrid component
- The card links to the API Server environment variables configuration guide
- This change highlights the availability of practical guides for specific setup tasks
- Explain how the API server converts anonymous guest users into permanent accounts
- Describe the guest user flow and data accumulation process
- Detail the conversion process for creating permanent accounts
- Highlight the seamless transition of user data during account conversion
- Introduce the API server's transactional email capabilities
- Explain core components: EmailClient, EmailSendGrid, EmailRepository, and AuthService
- Describe the decoupled architecture and its benefits
- Include an aside tip about implementing alternative email clients
- Create new page to showcase key features of the API server
- Include CardGrid component to display features visually
- Add descriptions and links for each feature: Authentication, User Data Sync, Email Service, Role-Based Access Control, and Remote Configuration
- Add step for setting up local database using Docker
- Clarify environment variables configuration process
- Update step numbers accordingly
- Improve overall clarity and guidance for new developers
...on and middleware
- Create new markdown file for advanced topics
- Add cards for dependency injection and middleware
- Include descriptions and links for further reading
- Create new index page for API server how-to guides
- Add CardGrid component to display various how-to topics
- Include guides on environment variables, MongoDB setup, CORS configuration, custom email client implementation, and database seeding
- Add new menu items under 'Features', 'How-To Guides', and 'Advanced' sections
- Introduce new sections with collapsed menus for better organization
- Include overview pages for each main section
- Add new how-to guides for various configuration and implementation topics
- Renamed file from 'advanced' to 'architecture' folder
- This change reflects the better categorization of the content
We're changing the folder name to better reflect the content and avoid confusion with the advanced docs, which will be a separate section.
Closes NEXT-1122
- Renamed middleware.mdx from advanced to architecture folder
- Remove 'understand-database-seeding.mdx' file
- Add 'data-seeding-and-fixtures.mdx' file with expanded content
- Refactor content structure to better fit architectural documentation
...registry
- Introduce the concept of a generic data endpoint to reduce boilerplate code
- Explain the implementation using a model registry
- Describe the advantages of this architectural pattern
- Include examples of usage and reference to source code
- Rename 'Advanced' section to 'Architecture'
- Add new items under Architecture: Data Seeding & Fixtures, Generic Data Endpoint
- Rename 'API Reference' to 'Reference'
- Update existing links and labels for consistency
- Move authentication page from api-reference to reference folder
- Move core-models page from api-reference to reference folder
- Move data-access page from api-reference to reference folder
- Move index page from api-reference to reference folder
@fulleni fulleni merged commit 4339153 into main Jul 26, 2025
@fulleni fulleni deleted the enhance_docs branch July 26, 2025 19:41
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @fulleni, I'm Gemini Code Assist1 ! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request delivers a substantial enhancement to the project's documentation, focusing on the API server. It introduces a more organized and comprehensive set of guides covering architectural patterns, key features, practical setup instructions, and a detailed API reference. The goal is to significantly improve the onboarding experience for new developers and provide clearer insights into the system's design and functionality.

Highlights

  • Documentation Structure Overhaul: The pull request introduces a significant reorganization and expansion of the documentation, particularly for the API server. New top-level navigation categories have been added, including 'Start Here', 'API Server Features', 'How-To Guides', 'Architecture', and 'API Reference', making the documentation more structured and easier to navigate.
  • New API Server Architecture Guides: Detailed documentation has been added for key architectural patterns of the API server, such as the idempotent database seeding process (src/content/docs/api-server/architecture/data-seeding-and-fixtures.mdx) and the generic data endpoint with its model registry (src/content/docs/api-server/architecture/generic-data-endpoint.mdx).
  • Expanded API Server Features and How-To Guides: New guides explain core API server features like the decoupled email service (src/content/docs/api-server/features/email-service.mdx), standardized error handling (src/content/docs/api-server/features/error-handling.mdx), and seamless user data sync for anonymous accounts (src/content/docs/api-server/features/user-data-sync.mdx). Practical 'How-To' guides cover configuring environment variables, MongoDB setup, CORS, and implementing alternative email clients.
  • Comprehensive API Reference: A new 'API Reference' section provides detailed documentation for API endpoints, including authentication (src/content/docs/api-server/reference/authentication.mdx), generic data access (src/content/docs/api-server/reference/data-access.mdx), and descriptions of core data models (src/content/docs/api-server/reference/core-models.mdx).
  • Updated Setup and Deployment Instructions: The local setup (src/content/docs/api-server/local-setup.mdx) and deployment (src/content/docs/api-server/deployment.mdx) guides have been updated to reflect the new detailed configuration documents, providing clearer and more robust instructions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is a great enhancement to the documentation, adding a lot of valuable content and structure. The new pages are well-written and provide clear explanations of the project's features and architecture.

I've identified a few areas for improvement, primarily related to link consistency and correctness. There are several broken links due to outdated paths and a recurring issue with an incorrect /docs prefix that will likely cause navigation problems. Addressing these will ensure the documentation is fully functional and easy to navigate. I've also pointed out a couple of minor inconsistencies and style issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

1 more reviewer

@gemini-code-assist gemini-code-assist[bot] gemini-code-assist[bot] left review comments

Reviewers whose approvals may not affect merge requirements

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

AltStyle によって変換されたページ (->オリジナル) /