This is My First Project using these technologies so it can't be the most optimized one and the files aren't organized in such perfect way ,we are still learning so wish me best of luck ^ ^.
Al-Book-Store is full-stack web-application using Angularjs,Node.js,Express.js,MongoDB
- Angular JS
- ngBootstrap
- Node.js
- Express.js
- MongoDB
- NodeMailer
- Json Web Tokens
- Font Awesome
- Paypal Checkout
- Animate.css
This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.
- Clone the repository
$ git clone https://github.com/AhmedLotfy02/Book-Store-1.git
-
Navigate to repository directory
$ cd Book-Store-1
-
Install dependencies
$ npm install
- Compiles and Development
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
Run `nodemon server.js` for a dev server. Navigate to `http://localhost:3000/`. The app will automatically reload if you change any of the source files.
- To Build
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
- Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
AL Book-Store ├── README.md ├── angular.json ├── server.js ├── LICENSE ├── package-lock.json ├── package.json ├── .gitignore ├── .browserslistrc ├── tsconfig.app.json ├── tsconfig.json ├── .tsconfig.spec.json ├── middleware │ ├── auth-check.js ├── backend │ ├── images ├── src │ ├── environments │ ├── assets │ ├── app | | ├── adminControl | | | ├── create | | | ├── delete | | | ├── update | | | ├── options | | | ├── header | | ├── auth | | | ├── auth.guard.ts | | | ├── auth.service.ts | | | ├── auth.data-model.ts | | | ├── auth-interceptor.ts | | ├── checkout | | ├── dashboard | | ├── favorite-list | | ├── footer | | ├── forget-page | | ├── loading-screen | | ├── login-page | | ├── main-store | | ├── profile | | ├── search-result | | ├── search-tool-bar | | ├── sign-up | | ├── sign-up-successfully | | ├── snack-bars | | ├── app.component.css | | ├── app.component.html | | ├── app.component.spec.ts | | ├── app.component.ts | | ├── app.module.ts | | ├── app-routing.module.ts | | ├── Book-Model.ts | | ├── overall.service.spec.ts | | ├── overall.service.ts | | ├── signUp-data-model.ts │ ├── main.ts | ├── polyfills.ts │ └── test.ts │ └── styles.css | |── favicon.ico | |── index.html └── node_modules
-
Login Page
- Validations
- Username and password must be entered
- Username and password must be existed by signing up or admin added them before
- Forget your username sending you email to your email contains username you signed up with it
- Validations
-
Forget Username Page
- Validations:
- Entering invalid email or email which isn't signed up before will cause a warn
- By entering email that is signed up before, you will receive an email contains your username, this is done by NodeMailer
- Validations:
-
SignUp Page
-
Validations:
- All validations done using reactive form approach
- Entering email or username that is already exist will cause error warn as they are unique values in database
- Password is hashed at backend by bcrypt library and stored in database
-
Validations:
-
Store
-
Profile Page
-
Dashboard Page
- Calculates the total price
- Checkout
- Favorites List
-
Admin Panel (who ownes the website)
-
Admin can create,update,delete books or users
-
interface
- Common interface
-
Create Book
- Reponse message will be displayed either book is created or an error occured
- Create User
- Validations: Entering an existing username or email will cause warning
- Reponse message will be displayed either user is created or an error occured
- Update User
- Reponse message will be displayed either user is updated or an error occured
- Update Book
- Reponse message will be displayed either book is updated or an error occured
- Delete Book
- Reponse message will be displayed either book is deleted or an error occured
- Delete User
- Reponse message will be displayed either user is deleted or an error occured
-
interface
- When you are logging in and wants to return to login page or signup this message will appear as you are authenticated
- Search
Ahmed Lotfy |