Welcome to the BSO Space Blog repository! This open-source project is part of the BSO Space platform, a collaborative blog designed specifically for Software Engineering students to share insights, learnings, and projects with a wider audience. This repository contains the frontend code for the BSO Space Blog.
The BSO Space Blog provides a seamless platform where Software Engineering students can post articles, browse through others' content, and engage with the community. This frontend application, built with Next.js, interfaces with a backend service using Prisma and PostgreSQL.
Live Site: https://blog.bsospace.com
- Frontend Framework: Next.js
- Database: PostgreSQL
- ORM: Prisma
- CI/CD Pipeline: Jenkins
- Testing Framework: Jest
- Code Scanning: SonarQube
- Deployment: Docker
- User-Friendly Interface: Designed with students in mind, the interface is intuitive and responsive.
- Article Management: Easily create, edit, and publish articles.
- Community Engagement: Read and comment on articles posted by other students.
- Dashboard for Statistics: Access statistics related to article views, user engagement, and more.
To get a local copy up and running, follow these steps:
- Node.js (v14 or above recommended)
- Yarn (optional but recommended for dependency management)
- Docker (optional, for containerized development)
-
Clone the repository:
git clone https://github.com/BSO-Space/BSOSpace-Blog-Frontend.git cd BSOSpace-Blog-Frontend
-
Install dependencies:
yarn install # or npm install
-
Configure environment variables: Create a
.env.local
file at the root of the project and add the necessary environment variables (API endpoints, database credentials, etc.). -
Start the development server:
yarn dev # or npm run dev
The app should now be running on http://localhost:3000.
To build the project for production, run:
yarn build
# or
npm run build
Contributions are welcome! To contribute to this open-source project:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
. - Make changes and test thoroughly.
- Commit your changes:
git commit -m 'Add new feature'
. - Push to your branch:
git push origin feature/YourFeature
. - Open a pull request.
Please ensure all contributions align with the Code of Conduct and follow the project's Coding Standards.
This project uses Jenkins for Continuous Integration and Continuous Deployment. Upon a pull request, the pipeline performs the following:
- Testing: Runs tests with Jest.
- Code Scanning: Scans code for potential issues using SonarQube.
- Deployment: If all tests pass and no issues are found, the latest code is automatically deployed using Docker.
We use Jest for unit and integration tests to ensure code reliability and functionality. To run tests locally:
yarn test
# or
npm test
SonarQube is integrated into our CI/CD pipeline to maintain high code quality. All code must pass SonarQube checks before merging.
This project is licensed under the MIT License. See the LICENSE file for details.