Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elenaches/node-js-express-mvc-web-app
A college project in Node JS using Express and MongoDB, a basic "travel agency" website with permission management and two user types.
https://github.com/elenaches/node-js-express-mvc-web-app
college-project ejs express-mvc expressjs mongodb mvc nodejs nodejs-webapp webapp website
Last synced: about 17 hours ago
JSON representation
A college project in Node JS using Express and MongoDB, a basic "travel agency" website with permission management and two user types.
- Host: GitHub
- URL: https://github.com/elenaches/node-js-express-mvc-web-app
- Owner: ElenaChes
- License: mit
- Created: 2022-12-19T14:52:50.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-13T18:08:13.000Z (4 months ago)
- Last Synced: 2024-11-21T11:39:48.768Z (2 months ago)
- Topics: college-project, ejs, express-mvc, expressjs, mongodb, mvc, nodejs, nodejs-webapp, webapp, website
- Language: JavaScript
- Homepage:
- Size: 621 KB
- Stars: 3
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MVC Web app
A college project in Node JS using Express and MongoDB.
Description: a basic "travel agency" website with permission management and two user types.
Collaborators
@ElenaChes
@RoeiHarfi
Content
- [Installation](#installation)
- [Usage](#usage)
# Installation
1. Open a MongoDB project if you don't have one.
2. Create a `.env` file and paste your MongoDB connection string in it, the file should look like this:```
DB=mongodb+srv://:@.mongodb.net/?retryWrites=true&w=majority
```3. Create users in your MongoDB database according to the schema in `database/account.js`.
For example:```
username: "admin"
password: "admin1"
permissions: "admin"
``````
username: "bob"
password: "bob1"
permissions: "user"
IDnumber: "123456789"
cardNumber: "6789678967896789"
fullName: "Bob Bobby"
``````
username: "david"
password: "david1"
permissions: "user"
```4. Change "autoOpen" in `app.js` to your preferred launch method.
5. Run `npm i`.
6. Start `app.js`.# Usage
1. Login to your preferred user.
2. Admin users can:
- adjust the seat amount of each plane. (don't ask, college requirement)
- edit, delete and creates flights.
3. Regular users can:
- view existing flights, sort and filter flights.
- book tickets for available flights.
- have the app insert their payment details from the database (if they exist).
- or input a card manually to "pay" for the flight.> [!NOTE]
> The app doesn't check for card validity and doesn't try to make a transaction.