Skip to content
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

📚 Documentation: Deep dive authentication recipe with Next.js #91

Open
2 tasks done
gewenyu99 opened this issue Sep 27, 2023 · 16 comments
Open
2 tasks done

📚 Documentation: Deep dive authentication recipe with Next.js #91

gewenyu99 opened this issue Sep 27, 2023 · 16 comments
Assignees
Labels
documentation Improvements or additions to documentation hacktoberfest

Comments

@gewenyu99
Copy link
Contributor

💭 Description

Goal

Deep dive tutorial for beginners to learn Appwrite Authentication in depth with Next.js.

Content

  1. The end product should be a functional app with auth screens.
  2. Step by step from setup. If there will be test data, provide a Server SDK script with instructions.
  3. Format should be similar to /docs/tutorials/sveltekit
  4. Should contain the following content
    1. Sign up
    2. Log in
    3. Verification
    4. Recovery
    5. Conditional routing based on auth state
    6. Preferences
    7. Delete account

How to contribute

Pitch an outline detailing each page you plan to add and headings within, and ask to be assigned. Open a PR after the outline has been approved.

The Appwrite team will collaborate with you on the outline and PR.

Thanks for taking the time to make our documentation better 🙏

👀 Have you spent some time to check if this issue has been raised before?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

@gewenyu99 gewenyu99 added the documentation Improvements or additions to documentation label Sep 27, 2023
@Nishantjain10
Copy link
Contributor

Nishantjain10 commented Sep 30, 2023

Hey @gewenyu99 and @Haimantika, I would like to contribute to this issue! Here's the detailed outline for the docs!

Outline: Deep Dive Authentication Recipe with Next.js Documentation

1. Introduction

  • Brief overview of the tutorial's purpose and what readers can expect.
  • Mention the goal of creating a functional authentication app with Next.js and Appwrite.

2. Prerequisites

  • List the prerequisites for following this tutorial, including software, libraries, and accounts required.

3. Setting Up the Next.js Project

  • Detailed step-by-step instructions on how to create a Next.js project.
  • Installation of necessary dependencies.
  • Configuration steps specific to Next.js and Appwrite integration.

4. Creating the Sign-up Page

  • Step-by-step guide to creating the Sign-up page.
  • Code snippets and explanations for implementing user registration with Appwrite.

5. Implementing the Login Page

  • Detailed instructions for creating the Login page.
  • Code examples and explanations for user login with Appwrite.

6. User Verification

  • Walkthrough for implementing email verification for newly registered users.
  • Code snippets and explanations for verifying user accounts.

7. Password Recovery

  • Step-by-step guide on how to implement password recovery functionality.
  • Code examples for handling password reset requests.

8. Conditional Routing Based on Authentication State

  • Explanation of how to set up routing logic based on user authentication status.
  • Code examples for handling authenticated and unauthenticated routes.

9. User Preferences

  • Creating a user profile page for updating user preferences.
  • Code snippets and explanations for managing user profile data.

10. Account Deletion

  • Instructions for implementing account deletion functionality.
  • Code examples and explanations for allowing users to delete their accounts.

11. Testing and Deployment

  • Guidance on testing the application.
  • Steps for deploying the Next.js application with authentication features.

12. Conclusion

  • Summarize what readers have learned in the tutorial.
    - Encourage further exploration and contributions.

13. How to Contribute

  • Explain how readers can contribute to the documentation.

14. Troubleshooting

  • Common issues users might face and how to resolve them.

15. Additional Resources

  • Links to related documentation, resources, and further reading.

Here is my past work, that I've done for appwrite:

Blogs:

Video

PS. Also, made a lot of memes in discord xd!

@Nishantjain10
Copy link
Contributor

Hey, any updates @Haimantika @gewenyu99?

@gewenyu99
Copy link
Contributor Author

@Nishantjain10 What will you be using for routing?

@gewenyu99
Copy link
Contributor Author

I would suggest revising your tutorial to be a smaller scope, closer to the suggested set of content :)

@suryanshsoni120
Copy link

If the issue hasn't been resolved, I would like to work on this. Can you assign it to me?

@Nishantjain10
Copy link
Contributor

Hey, I've already started working on it!

image
image

If the issue hasn't been resolved, I would like to work on this. Can you assign it to me?

@gewenyu99
Copy link
Contributor Author

@Nishantjain10 can you make sure the contents covered are:

  • Sign up
  • Log in
  • Verification
  • Recovery
  • Conditional routing based on auth state
  • Preferences
  • Delete account

Thanks!

@Gilbishkosma
Copy link

hi @gewenyu99 @Haimantika , i want to contribute to this one, you can assign it to me if no one else is working on it, thanks.

@gewenyu99
Copy link
Contributor Author

I decided to do an example project, this way all the guides can be consistent. Please follow the outline and format here:
#89

@hey-nicolasklein
Copy link

@gewenyu99 @Haimantika hey DevRel could you make sure to use the new App Router for the tutorial? I'm currently searching for a reliable way to integrate authentication with the new App Router, and for React Server Components as well as Client Components. Could you make sure to touch that topic in the guide 🙏

Supabase has a few tutorials online, but they define custom auth helpers to work with the React Server Components and React Client Components.

@Haimantika
Copy link
Contributor

@Nishantjain10 do you have an update?Will have to reassign the issue to the next person due to inactivity from your end

@Nishantjain10
Copy link
Contributor

@Nishantjain10 do you have an update?Will have to reassign the issue to the next person due to inactivity from your end

Hey, sorry, I had some problem with my laptop. I'm working on it.

@gewenyu99
Copy link
Contributor Author

@gewenyu99 @Haimantika hey DevRel could you make sure to use the new App Router for the tutorial? I'm currently searching for a reliable way to integrate authentication with the new App Router, and for React Server Components as well as Client Components. Could you make sure to touch that topic in the guide 🙏

Supabase has a few tutorials online, but they define custom auth helpers to work with the React Server Components and React Client Components.

I'll tag you for review 😆 I'm more of a Svelte/Vue person than Next.js.

Thanks for the suggestion :)

@Nishantjain10
Copy link
Contributor

@gewenyu99 @Haimantika hey DevRel could you make sure to use the new App Router for the tutorial? I'm currently searching for a reliable way to integrate authentication with the new App Router, and for React Server Components as well as Client Components. Could you make sure to touch that topic in the guide 🙏

Supabase has a few tutorials online, but they define custom auth helpers to work with the React Server Components and React Client Components.

Sure I will keep that in mind, going to use app router only!

@Nishantjain10
Copy link
Contributor

Nishantjain10 commented Oct 19, 2023

Hey @gewenyu99, would it be okay if I use Tailwind CSS or custom CSS to improve the design of the login form?

image

@gewenyu99
Copy link
Contributor Author

@Nishantjain10 I would rather have no CSS than tailwind. It's unrelated and unnecessary complexity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation hacktoberfest
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants