This is a project based on a vinyl "inventory", where the user can look and upload vinyls. I had the idea to make this project to learn CRUD web-apps, and I used the vinyl theme because it includes many "sections": the Vinyl, the Vinyl Issue, the Artist, the Genre etc; in that sense, I used a lot of database relations.
In this web application, we can:
- Create, Read, Update and Delete Artist.
- Create, Read, Update and Delete Vinyls.
- Create, Read, Update and Delete musical Genres.
- Create, Read, Update and Delete Issues.
- Log In and Register with an account.
This project was built using:
Here's how to run this project locally
First, you should have Node, Git (if you use Linux, it's already installed.) and an Atlas dabatase set up.
Clone the repo
git clone https://github.com/stpafk/vynil-inventory
Install NPM packages
npm install
Create a .env
file with a variable called MONGO like this:
MONGO = "mongodb+srv://<username>:<password>@<cluster>.<key>.mongodb.net/?retryWrites=true&w=majority"
Run the application:
npm run dev
- Set up database.
- Add routes and controllers.
- Add views.
- Add Register and Login.
- User relationship
- Only allowed to delete instances that themselves created.
- Able to buy and sell issues (not real money).
- Change style