This is a part of the Tutorial to build a blog platform with Elixir Phoenix and Next.js that help you to develop a web application from scratch using modern technologies such as Elixir Phoenix, Next.js, and more.
Wrapping up
Congratulations on completing this tutorial! 🎉. Your journey has been both challenging and fascinating. Now, let’s take a moment to reflect on what we’ve accomplished together.
- Backend Development (Part 1 and 2):
- We initialized the backend (BE) project and developed the “Get Post List” API.
- Concepts like Controllers, Context, Views, and Routers were introduced.
- We worked with Ecto to interact with the database.
- Part 2 continued with the development of additional APIs: “Get Post Detail” and “Create Post.”
- You gained knowledge about Ecto changesets and error handling in your app.
2. Frontend Development (Parts 3, 4, and 5):
- We shifted our focus to the frontend (FE) side.
- You initialized the FE project and developed the Post List and Post Detail screens.
- We discussed structuring the FE project, component building strategies, and code refactoring.
- React Query was introduced to manage server state when fetching posts or creating new posts.
3. Authentication and Security (Parts 6, 7, and 8):
- We worked on securing the app.
- In the BE side (Part 6 and 7), we handled authentication with Pow and linked created posts to their authors.
- In the FE side (Part 8), Next-auth was used to secure the app, requiring users to log in to access the create post screen.
4. My Posts Screen (Part 9):
- We developed the “My Posts” screen, allowing users to see the posts they’ve created.
5. Post Management Features (Parts 10, 11, and 12):
- We focused on post management.
- Part 10 involved working on the update and delete post APIs.
- In Part 11, we tackled updating posts in the FE, and Part 12 covered deleting posts in the FE.
- By the end, you should feel more comfortable with FE development and have a solid understanding of code refactoring.
What’s next
If this tutorial has inspired you, I wholeheartedly encourage you to continue developing more features. Doing so will sharpen your skills and enhance your software development experience. Here are some exciting features you can explore:
- Pagination in the List of Posts:
- Implement pagination for the list of posts. This will enhance user experience by breaking down long lists into manageable chunks.
2. Likes and Comments:
- Add functionality for users to like and comment on specific posts. Interactivity like this engages users and fosters community.
3. Real-Time Features:
- Consider real-time updates when users create posts, like content, or leave comments. Technologies like WebSockets or GraphQL subscriptions can make your app dynamic and responsive.
Additional Resources:
If you’re eager to explore more technologies, here are some valuable resources:
- Elixir, Phoenix:
Next.js:
Remember, coding and software development are journeys of continuous learning and growth. Enjoy the process, and keep building amazing things! 🚀👩💻👨💻