/RapidReads

Primary LanguageJavaScriptMIT LicenseMIT

RapidReads - Short Story Sharing Website

This is a CRUD (Create, Read, Update, Delete) project for a website where users can post and comment on short stories.

Features

  • 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.

Technologies Used

  • 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

Installation

  1. Clone the repository: git clone <repository-url>
  2. Navigate to the project directory: cd rapidreads
  3. Install the dependencies: npm install
  4. Set up the database: Create a new database and update the database configuration in the project.
  5. Run the application: npm start
  6. Open the website in your browser: http://localhost:3000

Usage

  1. Sign up for an account on the website.
  2. Log in to your account.
  3. Create a new short story by providing a title, image and content.
  4. Browse and read stories shared by other users.
  5. Leave comments on stories to engage with other users.
  6. Edit or delete your own stories if needed.

Contribution

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:

  1. Fork the repository.
  2. Create a new branch for your feature: git switch -c feature-name
  3. Implement your changes.
  4. Commit and push your changes: git commit -m 'Add some feature' and git push origin feature-name
  5. Create a new pull request.

License

This project is licensed under the MIT License.