BB Forum is a work-in-progress minimalistic bulletin board that allows users to create, share, and discuss topics in a user-friendly environment. The forum emphasizes simplicity and usability, making it easy for users to engage with content.
- User-Friendly Interface: A clean and minimalistic design prioritizing ease of use and intuitive navigation.
- Post and Comment: Users can create threads, post topics, and engage in discussions by commenting on posts.
- Custom Themes: Supports light and dark themes, allowing users to switch between themes for a personalized experience.
- Server-Side Rendering: Optimized page loading enhances performance and improves SEO, ensuring your content is discoverable.
- State Management: Utilizes lightweight state management with React hooks and Zustand for efficient data handling.
- Responsive Design: The layout adapts to various screen sizes, ensuring accessibility on both desktop and mobile devices.
To run this project locally, you need to have the following installed:
- Docker: A platform for developing, shipping, and running applications in containers.
- pnpm: A fast, disk space-efficient package manager for JavaScript.
Follow these steps to set up your local development environment:
-
Clone the repository:
git clone [email protected]:eugenioenko/bb-forum.git cd bb-forum
-
Run the following commands:
pnpm db # Start the database service pnpm install # Install dependencies pnpm prisma:config # Configure Prisma pnpm prisma:migrate # Apply database migrations pnpm prisma:generate # Generate Prisma client pnpm dev # Start the development server
-
Open your browser and navigate to http://localhost:4200 to see the result.
Once the application is running, you can:
- Create an Account: Register a new account to start participating in discussions.
- Browse Topics: View existing topics and read through discussions.
- Post New Topics: Share your thoughts by creating new discussion threads.
- Comment on Posts: Engage with other users by leaving comments on their posts.
BB Forum is built with the following technologies:
- React: A JavaScript library for building user interfaces.
- Next.js: A React framework for server-side rendering.
- Prisma: An ORM for managing database interactions.
- Zustand: A small, fast state management solution for React applications.
- Docker: For containerization of services.
Contributions are welcome! If you have suggestions or improvements, please fork the repository and submit a pull request.
- Fork the repository.
- Create a feature branch:
git checkout -b feature/YourFeature
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/YourFeature
. - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.