Jusblog is a minimalist and distraction-free blog platform designed for developers, writers, and anyone looking to share their thoughts and ideas with the world. Leveraging Markdown (via a rich text editor) for content creation, Jusblog offers a clean, easy-to-use interface perfect for personal blogs, technical documentation, or simply sharing your perspectives.
The main motivation behind Jusblog was to create a personalized blogging platform. While I haven't posted anything yet, I envision it being a space for...
- Clean & Intuitive UI: Modern, distraction-free design for ease of use.
- Authentication: Secure account creation and login to manage your blog.
- Rich Text Editor (Markdown): Effortless formatting with a user-friendly editor and Markdown support.
- Blog Library: Explore diverse content from other users' public blogs.
- Responsive Design: Seamless access on any device (desktop, tablet, smartphone).
- Fast & Lightweight: Optimized for speed and a smooth user experience.
- Frontend:
- ReactJS: A JavaScript library for building user interfaces.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- JavaScript: The core programming language for frontend logic.
- Redux Toolkit: A powerful toolset for managing application state.
- Backend:
- Appwrite: An open-source, self-hosted Backend-as-a-Service (BaaS) platform used for authentication, database, and storage.
-
Prerequisites:
- Node.js (version 16 or higher recommended)
- npm (Node Package Manager) or yarn
-
Clone the Repository:
git clone https://github.com/faizshaikh17/Jusblog
-
Navigate to the Project Directory:
cd Jusblog
-
Install Dependencies:
npm install # or yarn install
-
Configure Environment Variables:
-
You'll need to configure environment variables for your Appwrite project. Create a
.env
file in the root directory of the project. -
Refer to the Appwrite documentation for instructions on setting up your Appwrite project and obtaining the necessary API keys and project IDs.
-
Add the following variables to your
.env
file:VITE_APPWRITE_ENDPOINT=<YOUR_APPWRITE_ENDPOINT> # e.g., "https://cloud.appwrite.io/v1" VITE_APPWRITE_PROJECT_ID=<YOUR_APPWRITE_PROJECT_ID> VITE_APPWRITE_DATABASE_ID=<YOUR_APPWRITE_DATABASE_ID> VITE_APPWRITE_COLLECTION_ID=<YOUR_APPWRITE_COLLECTION_ID> VITE_APPWRITE_BUCKET_ID=<YOUR_APPWRITE_BUCKET_ID>
-
Important: Replace the
<...>
placeholders with your actual Appwrite values.
-
-
Run the Development Server:
npm run dev # or yarn dev
-
Open Your Browser:
Open your preferred browser and navigate to:
http://localhost:5173
- Create an Account: Click the "Sign Up" button to create a new account.
- Log In: Use your credentials to log in to the platform.
- Write a New Post: Click the "Create Post" button to access the rich text editor and start writing. Use Markdown for formatting or utilize the editor's built-in tools.
- Publish Your Post: Once you're satisfied with your post, click the "Publish" button. Your post will then be visible to other users in the blog library (if you choose to make it public).
- Browse the Blog Library: Explore posts from other users by navigating to the blog library.
Contributions are welcome! If you find any bugs or have suggestions for new features, please open an issue or submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes.
- Commit your changes with clear and concise commit messages.
- Push your changes to your forked repository.
- Submit a pull request.
- Commenting System: Enable users to comment on blog posts.
- Categories and Tags: Allow users to categorize and tag their posts for better organization and discoverability.
- Search Functionality: Implement a search feature to easily find specific posts within the blog library.
- Themes: Allow users to customize the appearance of their blogs.
Note: This project relies on Appwrite. Please ensure you have a properly configured Appwrite instance running and that your environment variables are correctly set. Refer to the Appwrite documentation for further details.