ChronoQuest

Erin Wolff

Fullstack Engineer
Web Developer
JavaScript
Node.js
React

ChronoQuest

Purpose

The purpose of the project is to create a centralized place for users to share and view information about video games. ChronoQuest allows users to create an account and, once logged in, create new game posts by either searching for an already-posted game title, or creating a new title post. They can share reviews as well as the time it took for them to complete the game.
In addition, the forum exists for those who wish to connect with the community as a whole. Users can create new forum posts as well as comment on those that have been posted by others.

Architecture

Backend

The backend consists of an Express server with a SQLite database and Prisma as the ORM. The entrypoint is src/server/index.js.
API routes can be found in src/server/api/.
Authentication is handled with JWT. User passwords are hashed with bcrypt.
Database schema as described below
Details
Expand to see DBML

Frontend

The frontend is a React app created with Vite. Vite middleware is used in development, but the frontend should be built for production.
Routing is handled with React Router. The router is defined in src/client/main.jsx.
Application state is managed with Redux Toolkit. The store is defined in src/client/store/index.js. Additional slices should be defined separately in src/client/features.
RTK Query is used to handle data fetching. The central API slice is defined in src/client/store/api.js and is intended to stay empty. Additional endpoints should be injected separately in src/client/features.
Less is used as the CSS preprocessor.
Partner With Erin
View Services

More Projects by Erin