Jest to projekt sklepu internetowego z aplikacjami stworzony w ramach przedmiotu Bazy Danych na uczelni Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. Technologie które wykorzystaliśmy podczas tworzenia projektu:
- Angular
- Express
- MongoDB
Funkcjonalności aplikacji:
- Aplikacje - operacje CRUD
- Użytkownicy - operacje CRUD, autoryzacja oraz autentykacja
- Koszyk - możliwość kupowania aplikacji przez użytkownika
mongoose.model(
"application",
mongoose.Schema({
appID: Number,
name: String,
price: Number,
downloadSize: Number,
description: String,
photos: [String],
numberOfDownloads: Number
},
{ timestamps: true })
);
mongoose.model(
"user",
new mongoose.Schema({
userID: String,
username: String,
email: String,
password: String,
roles: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "role"
}
],
listOfAps: [
{
appID: String,
appName: String,
purchaseDate: Date,
price: Number,
paymentMethod: String
}
],
premiumSubscriptions: [
{
subscriptionID: String,
dateFrom: Date,
dateTo: Date
}
],
cart: [String]
})
);
mongoose.model(
"role",
mongoose.Schema(
{
name: String
}
)
);
mongoose.model(
"subscription",
new mongoose.Schema({
id: Number,
rank: String,
apps_with_discount: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "discount"
}
],
free_apps: [{type: Number}],
price: Number,
quantity: {type: Number, min: 0}
})
);
mongoose.model(
"discount",
new mongoose.Schema({
app_id: Number,
discount_value: Number
})
);
- URL: /authentication/login
- Metoda: POST
- URL: /authentication/register
- Metoda: POST
- URL: /authentication/logout
- Metoda: POST
- URL: /user
- Metoda: GET
- URL: /cart
- Metoda: GET
- URL: /cart/add
- Metoda: POST
- URL: /cart/remove
- Metoda: POST
- URL: /cart/buy
- Metoda: POST
- URL: /myapps
- Metoda: GET
- URL: /applications
- Metoda: POST
- URL: /applications
- Metoda: GET
- URL: /applications/:id
- Metoda: GET
- URL: /applications/:id
- Metoda: PUT
- URL: /applications/:id
- Metoda: DELETE
- URL: /applications
- Metoda: DELETEs