Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 37 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,75 @@
# SGA Website Internal CMS Application
This is SGA's internal application tool to allow for SGA's Webmaster Team to easily manage and update SGA's website. We are developing new features for administrators to modify the application without the need for changes in the core code structure, allowing for quick content management and visual edits throughout the website.

# Technologies
## Frontend:
This is SGA's internal application tool to allow for SGA's Webmaster Team to easily manage and update SGA's website. We are developing new features for administrators to modify the application without the need for changes in the core code structure, allowing for quick content management and visual edits throughout the website.

## Technologies

### Frontend

- React.js: The core UI framework for developing reusable components for faster development, reducing redundancy, and building the infrastructure of the website.
- React Puck: The drag-and-drop editor logic for Webmasters to utilize for quick and visual content management and layout changes.
- TailwindCSS: Utility-first CSS that allows direct styling within individual lines through classes, insuring for consistent design through the website.
- Next.js: Allows for component rendering and server-side capabilities to improve performance and SEO while enabling seamless full-stack development

## Backend:
### Backend

- Prisma: The ORM that simplifies database queries, migrations, and interaction through the database.
- PostgreSQL: Primary relational database that allows for efficient data storage.
- Next.js: Handles the API routing on the server side with robust backend endpoints directly in the framework.

## Deployment
### Deployment

- Vercel: Host deployment for the website with optimized performance.

## Authentication
### Authentication

- Supabase: Backend service that provides authentication services for different user permissions.

# Setup
## Cloning and Running the Project
## Setup

### Cloning and Running the Project

We *highly* recommend the use of VSCode for this project. Please download the VSCode and clone the GitHub repository either using the command below or cloning the repo with the web URL.
```

```sh
git clone git@github.com:SGAOperations/website-development.git
```

After opening the project, open the terminal and navigate to the project directory:
```

```sh
cd website-development
```

Once you are in the directory, install all package dependencies by running:
```
npm install

```sh
npm ci
```

If you are cloning this project for the first time, please refer to /docs/SUPABASE_SETUP.md for instructions on how to set up Supabase.

Afterwards, you should be able to run the application using:
```

```sh
npm run dev
```

The applications expects a local database and will return an error without it. Look at DATABASE_SETUP.md for Prisma/Postgres setup instructions.
## Features for implementation

# Features for implementation
- Visual Drag-and-Drop Editor
- Database and Versioning
- Version Control or Pages
- Authentication & Login Services
- Navigation Within the Editor Interface
- TBD - Future Features

# Team Contributors
### Digital Innovation Website Team Leads:
Caitlin Lee, Willem Lenig
### Digital Innovation Website Software Engineers:
Shlok Patel, Grace Silge, Matthew Shi
## Team Contributors

### Digital Innovation Team Leads

Caitlin Lee, Willem Lenig

### Digital Innovation Software Engineers

Rai Makaraju, Shlok Patel, Grace Silge, Matthew Shi
6 changes: 3 additions & 3 deletions docs/SUPABASE_SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ npx supabase start

If Docker is running, Supabase will begin creating a local instance of the necessary services. On success, it should output something like:

```
```bash
╭─────────────────────────────────────────────────╮
│ 🌐 APIs │
├─────────────┬───────────────────────────────────┤
Expand Down Expand Up @@ -61,11 +61,12 @@ SUPABASE_SERVICE_ROLE_KEY="sb_secret_XXXXXXXXX"

```bash
npx prisma migrate dev
```
```

This will apply the Prisma schema to your local database. You can also use `npx prisma studio` to view and manage your database records in a nice UI.

## Resetting the database

If you want to reset your database (e.g. to clear all data), you can run:

```bash
Expand All @@ -86,4 +87,3 @@ The config lives in `supabase/config.toml`.
- Storage: Enabled with a public `media` bucket
- Auth/API: Enabled because storage depends on them
- Everything else: Disabled

Loading