Skip to content

Discover the universe from your screen - A Django-powered marketplace for cosmic collectibles, featuring secure Stripe payments.

Notifications You must be signed in to change notification settings

Mart-igor/Online_store_of_celestial_objects

Repository files navigation

What celestial object are you looking for?

GitHub Stars GitHub release (latest by semver) Watchers

Come in and choose your favorite while the discounts are on
(anyway make sure you have enough money... ;) Chat Preview



Introduction

To demonstrate my skills and abilities, I created a website.
The following features have been implemented:

  1. I orginiezed a menagment of this project by myself
    • Jira - organizer and manage your task from staging to deployment
  2. The site consists of several apps that do their job
    -- main - display of celestial objects (taking into account their categories)
    -- cart - display of shopping list
    -- users - interaction with users (login, logout, registration)
    -- orders - create order
    -- payment - payment for goods
  3. When creating templates I used:
    -- html5
    -- jinja
    • to make the templates look beautiful I used:
      -- bootstrap
      -- css
  4. To populate the database I used:
    -- ORM
    -- admin-panel
    -- PostgreSQL
  5. In order to be able to roll back in case of a fatal error (actually mostly as an artificial team experience), I used:
    -- Git & GitHub
  6. To keep it in Internet I use two ways:
    • use Linux server and nginx

Table of content

Tech Stack

Management Jira

Client: Django, PosgreSQL, Docker

Server: Linux, nginx

Demo

The Celestial Objects Online Store offers a user-friendly interface for purchasing stars, planets, and other cosmic bodies. Below is an overview of the key pages on the website.

📌 Home Page

  • Description: Displays the most popular items (by sales volume).
  • Features:
    • The header includes navigation elements: login/signup buttons, links to social media, and the shopping cart.
    • A slider or product grid highlighting "best sellers."
  • Screenshot:
    Home Page

🗂 Categories Page

  • Description: Users can browse products by category (e.g., "Stars," "Planets," "Galaxies").
  • Features:
    • Responsive product grid with brief descriptions.
  • Screenshot:
    Categories Page

🪐 Product Page

  • Description: Detailed information about a selected celestial object.
  • Features:
    • Images, price, description, and specifications (mass, diameter, distance from Earth).
    • "Add to Cart".
  • Screenshot:
    Product Page

🔐 Login Page

  • Description: Authentication or registration form.
  • Features:
    • Email/password fields.
    • Links for password recovery and signup.
  • Screenshot:
    Login Page

🛒 Shopping Cart

  • Description: Review selected items before checkout.
  • Features:
    • Remove items.
    • Total cost and a "Proceed to Payment" button or "Continue shopping".
  • Screenshot:
    Cart Page

📦 Order Page

  • Description: Enter delivery details.

  • Screenshot:
    Order Page

    ✅ Review Your Order

  • Description: EReview your order and confirm the order.

  • Screenshot:
    Order Page

💳 Payment Page (Stripe)

  • Description: Integrated payment system (e.g., Stripe).
  • Note: Use test card details for demo transactions:
    4242 4242 4242 4242 (Expiry: 12/34, CVC: 123).
  • Screenshot:
    Payment Page

Development Workflow

📝 Planning with Jira

I began by breaking down the project into structured milestones using Jira, which helped organize tasks and track progress efficiently.

Screenshots:

  • Project Plan:
    Chat Preview
  • Workflow Visualization:
    Chat Preview

Deployment

  1. Клонирование репозитория
git clone https://github.com/Mart-igor/Online_store_of_celestial_objects.git  
cd celestial_site  
  1. Настройка виртуального окружения

Для Linux/MacOS:

python -m venv venv  
source venv/bin/activate  

Для Windows:

python -m venv venv  
venv\Scripts\activate  
  1. Установка зависимостей
pip install -r requirements.txt  
  1. Восстановление базы данных
    Дамп БД доступен в репозитории:
    https://github.com/Mart-igor/Online_store_of_celestial_objects/blob/main/db

Импортируйте дамп БД (предварительно создав БД your_db_name):

pg_restore -d your_db_name celestial_site.dump  
  1. Настройка Stripe
    Создайте файл .env и добавьте ключи:
STRIPE_PUBLIC_KEY='ваш_публичный_ключ'  
STRIPE_SECRET_KEY='ваш_секретный_ключ'  

🌍 Публичный деплой (для доступа в интернете)

Необходимые подготовительные шаги:

  1. Приобретение доменного имени
  2. Аренда сервера
  3. Подключение к серверу (спользуйте Termius или аналогичный SSH-клиент)
  4. Используются заранее подготовленные конфигурации для контейнеров
  1. Инструкция по настройке сервера

Feedback

Feel free to send us feedback on Twitter or file an issue. Feature requests are always welcome. If you wish to contribute, please take a quick look at the guidelines!

About

Discover the universe from your screen - A Django-powered marketplace for cosmic collectibles, featuring secure Stripe payments.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published