This is an open-source blog application built with Next.js, Prisma, PostgreSQL, and Redux. The project is a learning experience for beginners and those looking to contribute to an open-source project. The app allows users to create, view, and manage blog posts, tags, and user profiles.
This project aims to be a collaborative and beginner-friendly environment for contributors who want to gain experience working on real-world applications. We welcome all contributions, whether bug fixes, new features, or documentation improvements. Live preview Here you can see the live version of the site
- User authentication and profile management
- Creating, editing, and deleting blog posts
- comments on posts and comments as replyes on other comments
- Category management for organizing posts
- Responsive design using ShadCN/UI
- User edit profile features
- Frontend: Next.js
- Backend: Next.js API Routes
- Database: PostgreSQL
- ORM: Prisma
- State Management: Redux Toolkit
- Auth Solution: NextAuth.js
- Styling: ShadCN/UI
- create subscription model, where a user can subscribe to author and get notified everytime when this author creates a new post
- create push notifications
- finish the "change language" feature
- create test cases
- infinity scroll on /posts page
- should implement text editor on /create-post page for the content part
- add reactions to the post
- implement filtering and displaying authors and categories by their popularity on the home page
We welcome contributions of all kinds! First of all, join our discord server. There, you can see what tasks are left, or you can open a ticket and present your own idea features. Here's how you can get started:
- Join Discord server
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add your feature
- Push to your branch:
git push origin feature/your-feature-name
- Create a pull request
If you find a bug or have an idea for a new feature, please check the issues section first to see if it's already being discussed. If not, feel free to open a new issue.
To run the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/bockster6669/blog-app.git
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Access the app: The application should be running at http://localhost:3000.
The app is protected from SQL injections by using Prisma as an ORM, which uses parameterized queries by default, reducing the risk of SQL injections and also validating the input