In the future, A.I. will run everything, and the things we enjoy will be a distant memory. With this Memory Museum application we can turn our collections of everything we enjoy about this century, and perfectly preserve it online with a description of what it meant to us, to give the future a peek into the window of our lives back then. This museum will house exhibits that will demonstrate what objects of our time mean to us. Registered users can...
- View the various exhibits
- View the various items within the exhibit
- Create their own exhibit
- Submit items to other users' exhibits
- Approve/Reject items submitted to their exhibit
- Delete their own exhibits
- Upload their own items
- Edit their own items
- Delete their own Items
- Rate other users Exhibits
- View the average rating of your exhibit
As an Admin you can do all this plus...
- Deactivate active users and reactivate deactivated users
- View list of deactivated users
- View and manage reports made by other users
- Manage your team of moderators with other Administrators
Make sure the following are installed on your machine before continuing:
| Tool | Download |
|---|---|
| VSCode | code.visualstudio.com |
| pgAdmin 4 | pgadmin.org/download |
| Git | git-scm.com/downloads |
| PostgreSQL | postgresql.org/download |
| .NET 8 SDK | dotnet.microsoft.com/download/dotnet/8.0 |
| Node.js (includes npm) | nodejs.org/en/download |
- Open your terminal and clone the repository:
git clone git@github.com:jaymenelson56/MemoryMuseum.git - Navigate into the project directory and run
dotnet user-secrets init - Install the Entity Framework CLI tools:
dotnet tool install --global dotnet-ef - Run
dotnet user-secrets set MusuemMemoryDbConnectionString "Host=localhost;Port=5432;Username=postgres;Password=<your password>;Database=MuseumMemory"— replace<your password>with your PostgreSQL password - Run
dotnet user-secrets set AdminPassword passwordto set the first two accounts' password to "password" (change it to whatever you prefer) - Run
dotnet ef migrations add InitialCreate - Run
dotnet ef database update - Run
code .inside the MemoryMuseum directory to open it in VSCode - Navigate to the Run and Debug menu in VSCode and make sure .NET Core is selected as your debugger
- Run the debugger
- In a new terminal,
cdinto theclientfolder and runnpm run dev - Once in, follow the prompts, register, and enjoy the site
Start both the backend and frontend each time you want to run the app locally.
Backend
Option A — VSCode debugger: Open the Run and Debug panel (Ctrl+Shift+D), select .NET Core, and press F5.
Option B — terminal: From the project root, run:
dotnet run --launch-profile httpsEither way, the API will be available at:
https://localhost:5001(HTTPS — used by the frontend proxy)http://localhost:5000(HTTP)
Tip: use
dotnet watch --launch-profile httpsinstead ofdotnet runto get hot-reload on backend file changes.
Frontend
In a terminal, cd into the client folder and run:
npm run devVite will start the dev server and automatically open the app in your browser at http://localhost:5173. All /api requests are proxied to the backend at https://localhost:5001.
This project does not include an npm start script. To preview a production build locally:
- In the
clientfolder, build the app:
npm run build- Then serve the build:
npm run previewThe preview server runs at http://localhost:4173 by default. Make sure the backend is still running (see above) so API calls succeed.