Git Product home page Git Product logo

ieeeuottawa-v2's Introduction

IEEE uOttawa Website

The IEEE uOttawa Website is a site that contains all information about the branch and its operations, including services, events, and opportunities.

Site preview

Features

  • Responsive design
  • I18N
  • Light & Dark mode

Built With

The website was built using the following technologies and frameworks:

  • Next.js
  • Typescript
  • Tailwind CSS
  • MUI
  • Stackbit

Getting Started

To get started with the project, follow these steps:

  • Clone the repository to your local machine.
  • Install the required dependencies using npm install.
  • Start the development server using npm run dev.

Visual Editing with Stackbit

Introduction

Stackbit provides visual editing capabilities that allow you to easily modify and customize the website's content and design. You can make changes to your site without having to write code directly.

Set Up Stackbit Visual Editor

Install Stackbit locally on your machine:

npm install -g @stackbit/cli

Start the visual editor from your web project's root directory. Use the --port option to specify your dev server's port (default: 3000).

stackbit dev --port [PORT]

Open the url that appears in your terminal to start the visual editor.

Project Structure

The following project tree highlights the most relevant directories.

.
├── .stackbit/
│   ├── models
│   └── presets
├── content/
│   ├── data/
│   │   ├── orgs/
│   │   ├── style.json
│   │   └── team/
│   │       ├── emails/
│   │       └── people/
│   ├── pages/
│   └── translations/
│       ├── links.ts
│       └── roles.ts
├── public/
│   ├── files/
│   └── images/
│       └── team/
└── src/
    └── components/
        ├── atoms/
        ├── molecules/
        ├── layouts/
        ├── sections/
        ├── svgs/
        └── components-registry.ts

/.stackbit

This directory contains two subdirectories: models/ and presets.

  • The models/ directory contains interface definition files for components in the .yaml format. Each definition file provides details such as the component's name, type, and the properties it possesses. For each property, the definition file includes information about its name, type, optional description.

  • The presets/ directory contains various presets or templates for components, sections, or pages in the .yaml format. These presets are intended for use within the visual editor, allowing you to quickly incorporate predefined structures into the site.

/.content

This directory contains three subdirectories:

  • data/: This directory contains the following subdirectories:
    • team/ subdirectory which contains JSON data files related to executives.
    • emails/ subdirectory which includes a list of emails mapped to each team role.
  • pages/: This directory contains a collection of Markdown files that Next.js converts into HTML pages.
  • translations/: This directory houses a mapping of link labels and roles to their French equivalents.

/.public

Contains all assets used on the site broken down into two main categories:

  • files (for documents such as meeting minutes)
  • images

/.src

This directory contains reusable UI components that are used throughout the website. The components are organized into subdirectories based on their complexity and reusability, such as:

  • atoms/ for basic building blocks,
  • molecules/ for slightly more complex components composed of atoms,
  • layouts/ for larger layout components,
  • sections/ for sections of the page, and
  • svgs/ for SVG icons or graphics.

The components-registry.ts file serves as a registry or index file for managing and importing the components.

Deployment

The site is hosted on Cloudflare using Cloudflare Pages, and only the elected Webmaster has access to the deployment details.

Authors/Contributors

  • Loic Kandikandi

Contact

If you have any questions or feedback about the website, please contact the Webmaster at [email protected].

ieeeuottawa-v2's People

Contributors

kandloic avatar stackbit-projects avatar steftodor avatar stevenli5 avatar diisala avatar

Watchers

 avatar  avatar

Forkers

diegofornalha

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.