/great-ideas

An application for creating ideas for the city

Primary LanguageTypeScript

great-ideas

This is a coursework on the subject of WEB 2021

The application is designed to express their initiatives for the improvement of the territory where a person lives. Provides the user with the ability to add, modify and delete their ideas, as well as filter by field values. For more motivation, points are awarded for added ideas, which can be exchanged for sponsored goods.


The application provides the following features:

  1. Registration and authorization in the system
  2. Creating ideas and editing ideas
  3. Displaying the ideas of all users or only an authorized user
  4. Filtering ideas by name, date and number
  5. Displaying the user's personal data in the personal account
  6. Editing user data
  7. Deleting an account from the database
  8. The opportunity to exchange points received for adding ideas for souvenirs and bonuses
  9. Display of goods purchased in the bonus store in your personal account

Application structure

The application includes 5 sections:

  1. Login
  2. Registration
  3. Ideas
  4. Bonus Shop
  5. Personal account

How it looks like

After downloading the application, the authorization page opens.

image

With this, the user can log in or go to the registration page.

image

If the user was previously logged in to the system, then an automatic transition to the main page will occur.

There will be a transition to the main page, which contains brief information about the project and user statistics, if the user was previously authorized in the system or after authorization.

image

The Ideas page contains a form for adding a new idea, a field for filtering ideas and the ideas themselves, which can be changed or deleted by clicking on the appropriate buttons.

image

The "Bonus Store" page contains a list of products and a field for filtering them. When you click on the card, the element will open this element separately. After that, you can buy this product for points or go back to the entire list of bonuses.

image

The "Personal Account" page displays the data of the authorized user, a list of purchased goods and a button to delete the account.

image

By clicking on the profile in the left corner, you can get a drop-down list consisting of three items: account, change profile and log out. On the user data editing page, it is possible to change the surname, first name, place of residence and password.

image

Technologies in the project

Frontend-part of the application is written using the Angular framework.

Backend-the part of the application that allows you to upload photos is written using the Express framework.

How to start

After downloading the project, you need to install the dependencies. You need to write the command while in the frontend, backend/upload-image, backend/db directories

npm install

To run, you need to write the command while in the frontend, backend/upload-image, backend/db directories

npm run start

Open your browser at http://localhost:4200/