Skip to content

pawelos231/Blog-szti

Repository files navigation

PureBlog


[🚧 The blog may receive updates in the future, depending on the features I would like to add! 🚧]

Fullstack TypeScript PureBlog

Introduction

Welcome to the documentation for our Fullstack TypeScript Blog, developed using the Next.js framework! This project was initiated to deepen our knowledge of full-stack development in TypeScript and to leverage the powerful features of Next.js. As a developer, i acknowledge that the design might not be as visually appealing as a professional website, but i focused more on technical aspects.

The primary objective of this blog is to facilitate the learning process, and i intend to keep updating it with new features as i continue to explore and experiment with different technologies and techniques.

Features

  1. Fullstack TypeScript Development: The blog encompasses both frontend and backend development using TypeScript, allowing us to write type-safe code and enhance the overall development experience.

  2. Next.js Framework: I have chosen Next.js for its ease of use and its capability to handle server-side rendering, static site generation, and client-side navigation, enabling a fast and smooth user experience.

  3. MongoDB Database: PureBlog utilizes MongoDB as the database of choice, providing a flexible and scalable solution for data storage and retrieval.

  4. Redis Caching Layer: To optimize data fetching and reduce server load, we have implemented a server-side caching layer using Redis.

  5. User Authentication: The blog includes a user authentication system, allowing users to sign up, log in, and manage their profiles. All created without usage of any providers.

  6. Create and Manage Blog Posts: Authenticated users can create, and delete their blog posts, offering an interactive and dynamic blogging experience.

  7. Nested Comments: Each blog post supports nested comments, enabling meaningful discussions and interactions among users.

  8. Likes and Interactions: Users can express their appreciation for both blog posts and comments by liking them.

  9. Filtering and Search: Blogs and comments can be easily filtered by users, and a search functionality is provided for quick access to specific content.

  10. User Profiles: The blog provides user profiles where individuals can view their activity, including posts and likes, as well as explore other users' profiles.

Limitations

As with any project, certain limitations exist:

  1. Design: While i acknowledge that design is a crucial aspect of a website, i am primarily focused on the technical implementation in this project. As a result, the visual appearance may not be as polished as desired.

  2. Image Upload: Due to budget constraints (i dont want to spend money on this project XD), i cannot currently offer users the ability to upload images for their blog posts. Hosting images on platforms like AWS or Google Cloud incurs expenses that we are unable to cover at this time. However, i plan to address this limitation in the future.

Installation and Setup

To run the blog locally or deploy it to a server, follow these steps:

  1. Clone the repository: git clone https://github.com/pawelos231/Blog-szti.git
  2. Install dependencies: npm install or yarn install
  3. Configure environment variables: Set up environment variables for MongoDB connection, Redis caching, and any necessary API keys.
  4. Start the development server: npm run dev or yarn dev
  5. Access the blog at http://localhost:3000

Contributing

I welcome contributions to this project! If you find any issues, have suggestions for improvements, or want to add new features, feel free to open an issue or submit a pull request.

Conclusion

Thank you for exploring my PureBlog. I hope this project serves as a valuable resource for learning and understanding full-stack web development with TypeScript and Next.js.

Releases

No releases published

Packages

No packages published

Languages