Skip to content

bsospace/BSOSpace-Blog-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BSO Space Blog Frontend

Code Smells Lines of Code Quality Gate Status Security Rating

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.

Table of Contents

Project Overview

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

Tech Stack

  • Frontend Framework: Next.js
  • Database: PostgreSQL
  • ORM: Prisma
  • CI/CD Pipeline: Jenkins
  • Testing Framework: Jest
  • Code Scanning: SonarQube
  • Deployment: Docker

Features

  • 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.

Getting Started

To get a local copy up and running, follow these steps:

Prerequisites

  • Node.js (v14 or above recommended)
  • Yarn (optional but recommended for dependency management)
  • Docker (optional, for containerized development)

Installation

  1. Clone the repository:

    git clone https://github.com/BSO-Space/BSOSpace-Blog-Frontend.git
    cd BSOSpace-Blog-Frontend
  2. Install dependencies:

    yarn install
    # or
    npm install
  3. 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.).

  4. Start the development server:

    yarn dev
    # or
    npm run dev

    The app should now be running on http://localhost:3000.

Build for Production

To build the project for production, run:

yarn build
# or
npm run build

Contributing

Contributions are welcome! To contribute to this open-source project:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeature.
  3. Make changes and test thoroughly.
  4. Commit your changes: git commit -m 'Add new feature'.
  5. Push to your branch: git push origin feature/YourFeature.
  6. Open a pull request.

Please ensure all contributions align with the Code of Conduct and follow the project's Coding Standards.

CI/CD Pipeline

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.

Testing

We use Jest for unit and integration tests to ensure code reliability and functionality. To run tests locally:

yarn test
# or
npm test

Code Quality

SonarQube is integrated into our CI/CD pipeline to maintain high code quality. All code must pass SonarQube checks before merging.

License

This project is licensed under the MIT License. See the LICENSE file for details.