YumeYard is an open-source blog webapp that allows you to create and publish your own blogs. It is built with ReactJs, NodeJs, ExpressJs, Postgresql Docker, and Prisma.
User Authentication
: Secure sign-up and login functionality.Blog Creation and Publishing
: Easily create and publish blogs with an intuitive editor.User Interaction
: Like and comment on other users' blogs to encourage engagement.Blog Sharing
: Share blog posts with others on the platform.
Front End
: ReactJs, React-Router, TailwindCSSBack End
: NodeJs, ExpressJs, Prisma ORMDatabase
: PostgreSQL, managed within Docker for consistency and portabilityDeployment and Scaling
: Docker and Docker-Compose for streamlined environment setup.
- Create an account
- Login
- Create a blog
- Share your blogs with other users
- Comment on other users' blogs
- Like other users' blogs
Nodejs
>= 18.0 andnpm
>= 8.0 on your machineDocker
andDocker-Compose
for containerized environment
- Clone the repository
git clone https://github.com/sahilsharma-ss/YumeYard.git
cd YumeYard
- Install dependencies
npm install
-
Set up environment variables Create
.env
file in root directory with necessary configurations, including PostgreSQL and JWT secret. -
Start Docker container
docker compose up -d
- Start the development Server
npm run dev
To access the website, open http://localhost:3000
in your browser.
Signup
orLogin
to your account- Create a blog post, and start enjoying the other users by sharing, commenting, and liking blogs.
- Manage Blogs by adding, editing, and deleting them and publishing them.
YumeYard
├── Client
├── Server
├── docker-compose.yml
└── README.md
Client
:Contains React components and Tailwind CSS for frontend styling.Server
: Handles API routes, authentication, and database interaction using Express and Prisma.docker-compose.yml
: Defines and runs the PostgreSQL container and backend services.
PERN Stack with Prisma ORM
: Provides a robust framework for efficient data handling and seamless database operations.Docker and Docker-Compose
: Ensures a consistent environment across development and deployment.TailwindCSS
: Modular and responsive design for a clean, modern user interface.RESTful API Design
: Enables CRUD operations for blogs and user interactions.
- Fork the repository
- Create a new branch (
feature/your-feature-name
) - Commit your changes (
git commit -m "Add your feature"
) - Push to the branch (
git push origin feature/your-feature-name
). - open a Pull Request
Yume Yard is licensed under the MIT License. See LICENSE
for more information.