Geek-Collectors-Network / geek-collectors-network

0 stars 2 forks source link

Project Release Notes

About this release

The Geek Collectors Network (GCN) is an online social platform specifically for collectors of geek culture, ranging from toys and action figures to memorabilia from popular franchises like Pokemon, Marvel, DC, and Disney. GCN will allow users to connect with fellow enthusiasts, curate and manage wishlists of sought-after items, and showcase their personal collections. A unique feature of GCN is the ability for users to share discoveries from unique or lesser-known shops with their network.

Current Features

User Authentication

User Profile

Networking

Collectible Items Management

Known Bugs, Issues and Limitations

Landing Page

Sign Up Page

Login Page

Home Page (Item Feed)

User Profile Page

Account Page

Friends Page

Networking Page

Collection Page

Wishlist Page


Deployment Notes

System Requirements

Configurations

Copy the example environment file ./apps/api/.env.example and paste it inside ./apps/api/.env

You’ll find pre-set environment variables.

VARIABLE DESCRIPTION DEFAULT
API_HOST The address to bind the application to 0.0.0.0
API_PORT The address to bind the port to 3000
DATABASE_HOST The IPv4 address or hostname of the database
DATABASE_PORT The port to your MySQL database 3306
DATABASE_USER The name of a user with read-write access to the GeekCollectorsNetwork database root
DATABASE_PASSWORD The password for the database user
DATABASE_NAME The name of the database to store application information
WEB_ROOT A relative file path to the built frontend files

App Deployment Instructions

Install all dependencies to build and run the app:

npm install -ws

Frontend

After dependencies are installed, build the frontend with:

npm run build

Database

If using a remote MySQL server, fill in the database configuration in the ./apps/api/.env file.

In the remote database, create the GeekCollectorsNetwork and SessionStore databases. Find the commands in ./docker/mysql/initdb/init.sq.

If hosting database locally, use the pre-set database configuration and run:

docker compose -p geek-collectors-network -f ./docker-compose.yml up -d mysql-resource

Application 

Start the application using:

npm run -w apps/api start

Final Code

Project repository: https://github.com/Geek-Collectors-Network/geek-collectors-network

Client: https://github.com/Geek-Collectors-Network/geek-collectors-network/tree/main/apps/frontend

Server: https://github.com/Geek-Collectors-Network/geek-collectors-network/tree/main/apps/api