This is a CRUD (Create, Read, Update, Delete) project for a website where users can post and comment on short stories.
- User Registration: Users can sign up and create an account to access the website.
- User Authentication: Users can log in to their accounts to perform actions like creating, updating, and deleting stories, as well as commenting on stories.
- Create a Story: Authenticated users can create and publish their own short stories.
- Read Stories: Everyone can browse and read the stories shared by other users.
- Update Story: The story authors can edit and update their own stories.
- Delete Story: The story authors can delete their own stories.
- Comment on Stories: Users can leave comments on the stories to provide feedback or engage in discussions.
- Frontend: Next.js.
- Backend: Node.js
- Database: Supabase, PostgreSQL
- SWR: SWR automatically manages caching, revalidation, and maintains a real-time, always-synced state.
- Authentication: Supabase Authentication
- Deployment: Vercel
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd rapidreads
- Install the dependencies:
npm install
- Set up the database: Create a new database and update the database configuration in the project.
- Run the application:
npm start
- Open the website in your browser:
http://localhost:3000
- Sign up for an account on the website.
- Log in to your account.
- Create a new short story by providing a title, image and content.
- Browse and read stories shared by other users.
- Leave comments on stories to engage with other users.
- Edit or delete your own stories if needed.
Contributions to improve the project are welcome. Here are a few suggestions:
- Implement additional features like story likes, story categories, user profiles, or a search functionality.
- Improve the user interface and design of the website.
- Optimize the backend code for performance and security.
- Write tests to ensure the stability and correctness of the application.
If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature:
git switch -c feature-name
- Implement your changes.
- Commit and push your changes:
git commit -m 'Add some feature'
andgit push origin feature-name
- Create a new pull request.
This project is licensed under the MIT License.