├── Automatic Birthdat Mail Sending
├── Automatic Birthday mail sending.py
└── Readme.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Calculator
├── index.html
├── readme.md
└── style.css
├── DIGITAL CLOCK
├── README.md
├── background.jpg
├── index.html
├── screenshot
│ └── ss-1.png
├── script.js
└── style.css
├── Food_Ordering_Website
├── .eslintcache
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── fow1.png
│ ├── fow2.png
│ ├── fow3.png
│ ├── fow4.png
│ ├── index.html
│ ├── logo192.png
│ └── manifest.json
└── src
│ ├── App.js
│ ├── assets
│ └── meals.jpg
│ ├── components
│ ├── Cart
│ │ ├── Cart.js
│ │ ├── Cart.module.css
│ │ ├── CartIcon.js
│ │ ├── CartItem.js
│ │ ├── CartItem.module.css
│ │ ├── Checkout.js
│ │ └── Checkout.module.css
│ ├── Layout
│ │ ├── Header.js
│ │ ├── Header.module.css
│ │ ├── HeaderCartButton.js
│ │ └── HeaderCartButton.module.css
│ ├── Meals
│ │ ├── AvailableMeals.js
│ │ ├── AvailableMeals.module.css
│ │ ├── MealItem
│ │ │ ├── MealItem.js
│ │ │ ├── MealItem.module.css
│ │ │ ├── MealItemForm.js
│ │ │ └── MealItemForm.module.css
│ │ ├── Meals.js
│ │ ├── MealsSummary.js
│ │ └── MealsSummary.module.css
│ └── UI
│ │ ├── Card.js
│ │ ├── Card.module.css
│ │ ├── Input.js
│ │ ├── Input.module.css
│ │ ├── Modal.js
│ │ └── Modal.module.css
│ ├── index.css
│ ├── index.js
│ └── store
│ ├── CartProvider.js
│ └── cart-context.js
├── Movie-Streaming-Website
├── .env.example
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
└── src
│ ├── App.css
│ ├── App.js
│ ├── Pages
│ ├── Movies
│ │ └── Movies.js
│ ├── Search
│ │ ├── Search.css
│ │ └── Search.js
│ └── Trending
│ │ ├── Trending.css
│ │ └── Trending.js
│ ├── components
│ ├── ContentModal
│ │ ├── ContentModal.css
│ │ └── ContentModal.js
│ ├── Header
│ │ ├── Header.css
│ │ └── Header.js
│ ├── MainNav.js
│ ├── Pagination
│ │ └── CustomPagination.js
│ └── SingleContent
│ │ ├── SingleContent.css
│ │ └── SingleContent.js
│ ├── config
│ └── config.js
│ ├── index.css
│ └── index.js
├── Photo_Gallery
├── .vscode
│ └── settings.json
├── README.md
├── images
│ ├── gallery.PNG
│ ├── i1.jpg
│ ├── i10.jpg
│ ├── i11.jpg
│ ├── i12.jpg
│ ├── i13.jpg
│ ├── i14.webp
│ ├── i15.webp
│ ├── i16.jpg
│ ├── i17.webp
│ ├── i19.jpg
│ ├── i2.jpg
│ ├── i20.jpg
│ ├── i21.webp
│ ├── i22.webp
│ ├── i23.jpg
│ ├── i24.jpg
│ ├── i26.jpg
│ ├── i27.jpg
│ ├── i28.jpg
│ ├── i29.jpg
│ ├── i3.jpg
│ ├── i30.jpg
│ ├── i31.jpg
│ ├── i32.jpg
│ ├── i4.jpg
│ ├── i5.jpg
│ ├── i6.jpg
│ ├── i7.jpg
│ ├── i8.webp
│ └── i9.jpg
├── index.html
└── style.css
├── Portfolio website using React
├── .gitignore
├── README.md
└── frontend
│ ├── .eslintcache
│ ├── README.md
│ ├── craco.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ ├── _redirects
│ ├── chetan_resume.pdf
│ ├── favicon
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── mstile-150x150.png
│ │ └── safari-pinned-tab.svg
│ ├── images
│ │ ├── but_it.png
│ │ ├── crypto.png
│ │ ├── icons
│ │ │ ├── codepen.svg
│ │ │ ├── css3-original.svg
│ │ │ ├── external-link.svg
│ │ │ ├── github.svg
│ │ │ ├── html5-original.svg
│ │ │ ├── javascript-original.svg
│ │ │ ├── leetcode (1).svg
│ │ │ ├── leetcode-svgrepo-com.svg
│ │ │ ├── leetcode.svg
│ │ │ ├── link.svg
│ │ │ ├── linkedin.svg
│ │ │ ├── mongodb-original.svg
│ │ │ ├── nodejs-original.svg
│ │ │ └── react-original.svg
│ │ ├── local_assist.png
│ │ ├── logo.png
│ │ ├── logo1.png
│ │ ├── rocket-320.png
│ │ ├── rocket-320.webp
│ │ ├── rocket.png
│ │ ├── rocket.webp
│ │ └── smart_compiler.png
│ ├── index.html
│ ├── manifest.json
│ ├── offline.html
│ └── robots.txt
│ ├── src
│ ├── App.js
│ ├── components
│ │ ├── Contact.js
│ │ ├── Header.js
│ │ ├── Hero.js
│ │ ├── Project.js
│ │ ├── Skill.js
│ │ ├── astronaout.json
│ │ ├── coder-2.json
│ │ ├── development.json
│ │ └── devlopers.json
│ ├── images
│ │ └── bg-effects.png
│ ├── index.css
│ ├── index.js
│ ├── projectData.js
│ ├── reportWebVitals.js
│ └── setupTests.js
│ └── tailwind.config.js
├── Portfolio
├── README.md
├── index.html
├── script.js
└── style.css
├── README.md
├── Random Joke Generator
├── Prev Images
│ ├── copyPrev.png
│ ├── darkPrev.png
│ └── lightPrev.png
├── README.md
├── copied.png
├── icon.ico
├── index.html
├── logo.png
├── script.js
└── style.css
├── Random-Number-Generator
├── Readme.md
├── Screenshot.png
├── index.html
├── script.js
└── style.css
├── Rock-Paper-Scissor
├── Readme.md
├── index.html
├── rock-paper-scissor.png
├── script.js
└── style.css
├── Season_Detector
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
└── src
│ ├── SeasonDisplay.css
│ ├── SeasonDisplay.js
│ ├── Spinner.js
│ └── index.js
├── TIC-TAC-TOE
├── JavaScript
│ ├── app.js
│ ├── config.js
│ └── game.js
├── README.md
├── index.html
└── styles
│ ├── configuration.css
│ ├── game.css
│ ├── overlays.css
│ └── styles.css
├── Weather app
├── README.md
├── img
│ ├── cloud.svg
│ ├── day_image.svg
│ ├── down.svg
│ ├── night_image.svg
│ └── up.svg
├── index.html
├── js
│ ├── index.js
│ └── request.js
└── style.css
├── cityshiftfinal
├── README.md
├── contact
│ ├── contact.html
│ └── contactstyle.css
├── frontpage
│ ├── 4.jpg
│ ├── contact2.jpg
│ ├── fp2.jpg
│ ├── index.html
│ ├── nav-img-4.jpg
│ ├── res3.jpg
│ └── style.css
├── home
│ ├── deluxe1.jpg
│ ├── deluxe2.jpg
│ ├── deluxe3.jpg
│ ├── deluxe4.jpg
│ ├── home.html
│ ├── homestyle.css
│ └── images
│ │ ├── 1
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── 3.jpg
│ │ ├── 4.jpg
│ │ ├── 5.jpg
│ │ ├── 6.jpg
│ │ └── 7.jpg
│ │ ├── 1.jpg
│ │ ├── 10.jpg
│ │ ├── 11.jpg
│ │ ├── 12.jpg
│ │ ├── 13.jpg
│ │ ├── 14.jpg
│ │ ├── 15.jpg
│ │ ├── 16.jpg
│ │ ├── 17.jpg
│ │ ├── 18.jpg
│ │ ├── 19.jpeg
│ │ ├── 2.jpg
│ │ ├── 3.jpg
│ │ ├── 4.jpg
│ │ ├── 6.jpg
│ │ ├── 7.jpg
│ │ ├── 8.jpg
│ │ ├── 9.jpg
│ │ ├── catalogue.png
│ │ ├── end.jpg
│ │ ├── houses.png
│ │ ├── logo.png
│ │ ├── logo2.png
│ │ ├── logo3.png
│ │ ├── logo4.png
│ │ ├── map.png
│ │ ├── more.png
│ │ ├── steps
│ │ └── center.png
│ │ └── to_do
│ │ ├── 1.jpeg
│ │ ├── 2.jpeg
│ │ ├── 3.jpeg
│ │ └── 4.jpeg
├── index.html
├── restaurants
│ ├── backgroundImages
│ │ ├── back41.jpg
│ │ ├── back61.jpg
│ │ └── contact1.jpg
│ ├── foodDelivery.html
│ ├── logos
│ │ ├── amazon1.png
│ │ ├── apple.png
│ │ ├── apple1.png
│ │ ├── bbq.jpg
│ │ ├── coke.png
│ │ ├── dell.png
│ │ ├── dom.png
│ │ ├── hp1.png
│ │ ├── logo.png
│ │ ├── mcd.png
│ │ ├── pind.jpg
│ │ └── skype.png
│ ├── phone.css
│ ├── services
│ │ ├── burger1.jpg
│ │ ├── catering1.png
│ │ └── order.png
│ └── stylecss.css
├── services
│ ├── services.html
│ └── servicesstyle.css
└── style.css
├── ecommerce
├── README.md
├── db.sqlite3
├── ecommerce
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-310.pyc
│ │ ├── settings.cpython-310.pyc
│ │ ├── urls.cpython-310.pyc
│ │ └── wsgi.cpython-310.pyc
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── static
│ ├── CSS
│ │ ├── main.css
│ │ ├── signin.css
│ │ ├── signup.css
│ │ └── store.css
│ ├── JS
│ │ └── cart.js
│ └── images
│ │ ├── Flipup.png
│ │ ├── Logo1.png
│ │ ├── Screenshot_1933.png
│ │ ├── Screenshot_1934.png
│ │ ├── Screenshot_1936.png
│ │ ├── Screenshot_1937.png
│ │ ├── Screenshot_1938.png
│ │ ├── Screenshot_1939.png
│ │ ├── Screenshot_1939_J8QZyzv.png
│ │ ├── Screenshot_1941.png
│ │ ├── arrow-down.png
│ │ ├── arrow-up.png
│ │ ├── candle.png
│ │ ├── cart.png
│ │ ├── cool.png
│ │ ├── cool5.png
│ │ ├── diary.png
│ │ ├── img.png
│ │ ├── logo (2).png
│ │ ├── logo.png
│ │ ├── paper-bag.png
│ │ └── placeholder.png
└── store
│ ├── __init__.py
│ ├── __pycache__
│ ├── __init__.cpython-310.pyc
│ ├── admin.cpython-310.pyc
│ ├── apps.cpython-310.pyc
│ ├── forms.cpython-310.pyc
│ ├── models.cpython-310.pyc
│ ├── urls.cpython-310.pyc
│ └── views.cpython-310.pyc
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── 0001_initial.py
│ ├── 0002_product_image.py
│ ├── 0003_product_productid.py
│ ├── 0004_alter_product_productid.py
│ ├── 0005_remove_product_productid.py
│ ├── 0006_product_description.py
│ ├── 0007_remove_product_description.py
│ ├── 0008_product_description.py
│ ├── 0009_remove_customer_email_remove_customer_name.py
│ ├── 0010_alter_order_customer.py
│ ├── 0011_alter_order_transaction_id.py
│ ├── 0012_alter_order_transaction_id.py
│ ├── __init__.py
│ └── __pycache__
│ │ ├── 0001_initial.cpython-310.pyc
│ │ ├── 0002_product_image.cpython-310.pyc
│ │ ├── 0003_product_productid.cpython-310.pyc
│ │ ├── 0004_alter_product_productid.cpython-310.pyc
│ │ ├── 0005_remove_product_productid.cpython-310.pyc
│ │ ├── 0006_product_description.cpython-310.pyc
│ │ ├── 0007_remove_product_description.cpython-310.pyc
│ │ ├── 0008_product_description.cpython-310.pyc
│ │ ├── 0009_remove_customer_email_remove_customer_name.cpython-310.pyc
│ │ ├── 0010_alter_order_customer.cpython-310.pyc
│ │ ├── 0011_alter_order_transaction_id.cpython-310.pyc
│ │ ├── 0012_alter_order_transaction_id.cpython-310.pyc
│ │ └── __init__.cpython-310.pyc
│ ├── models.py
│ ├── templates
│ └── store
│ │ ├── cart.html
│ │ ├── checkout.html
│ │ ├── main.html
│ │ ├── mainstore.html
│ │ ├── signin.html
│ │ └── signup.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── go-web-server
├── README.md
├── go.mod
├── main.go
└── static
│ ├── form.html
│ └── index.html
├── music_streaming_website
├── LICENSE
├── README.md
├── authentication
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── db.sqlite3
├── manage.py
├── media
│ ├── 01_-_Baarish_-_Half_Girlfriend_DJMaza.Life.mp3
│ ├── 01_-_Gulaabo-MyMp3Singer.net.mp3
│ ├── 01_-_Soch_Na_Sake_Duet-MyMp3Singer.com.mp3
│ ├── Aaj_Se_Teri_Padman_128_Kbps.mp3
│ ├── Asal_Mein_-_Darshan_Raval_128_Kbps.mp3
│ ├── Attention_-_Charlie_Puth.mp3
│ ├── Baarish.jpeg
│ ├── Bekhayali_-_Kabir_Singh_128_Kbps.mp3
│ ├── Coldplay_-_A_Sky_Full_Of_Stars.mp3
│ ├── DJ_Snake_-_Let_Me_Love_You_ft._Justin_Bieber_Official_Video.mp3
│ ├── Gryffin_-_Tie_Me_Down_ft._Elley_Duhé.mp3
│ ├── Guru_Randhawa_-_Ban_Ja_Tu_Meri_Rani.mp3
│ ├── Haaye_Oye_-_amlijatt.in.mp3
│ ├── Lauv_-_I_Like_Me_Better.mp3
│ ├── Maroon_5_-_Girls_Like_You_ft._Cardi_B.mp3
│ ├── Mike_Perry_-_The_Ocean_ft._Shy_Martin_CC.mp3
│ ├── Songs.PK_08_-_Kabira_-_Yeh_Jawaani_Hai_Deewani.mp3
│ ├── Sun_Saathiya.mp3
│ ├── Tujhe_Kitna_Chahne_Lage_-_Kabir_Singh_128_Kbps.mp3
│ ├── aajseteri.jpg
│ ├── asalmein.jpg
│ ├── attention.png
│ ├── banjarani.jpg
│ ├── bekhayali.jpg
│ ├── favicon.png
│ ├── girlslikeyou.jpg
│ ├── gulaabo.jpg
│ ├── haayeoye.jpg
│ ├── ilikemebetter.jpg
│ ├── kabira.jpg
│ ├── letmeloveyou.jpg
│ ├── ocean.jpg
│ ├── skyfullofstars.jpg
│ ├── sochnasake.jpeg
│ ├── sunsaathiya.jpg
│ ├── tiemedown.jpg
│ └── tujhekitnachahnelagehum.jpg
├── musicapp
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_playlist.py
│ │ ├── 0003_favourite.py
│ │ ├── 0004_recent.py
│ │ ├── 0005_auto_20200712_1306.py
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── musicplayer
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── settings1
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── developement.py
│ │ └── production.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
├── static
│ └── musicapp
│ │ ├── css
│ │ └── musicplayer.css
│ │ ├── fonts
│ │ ├── proximanova-light-webfont.woff
│ │ ├── proximanova-regular-webfont.woff
│ │ └── proximanova-semibold-webfont.woff
│ │ ├── images
│ │ └── bg.jpg
│ │ └── js
│ │ ├── amplitude.min.js
│ │ └── wavesurfer.min.js
├── templates
│ ├── authentication
│ │ ├── login.html
│ │ └── signup.html
│ ├── base.html
│ └── musicapp
│ │ ├── all_songs.html
│ │ ├── detail.html
│ │ ├── english_songs.html
│ │ ├── favourite.html
│ │ ├── hindi_songs.html
│ │ ├── index.html
│ │ ├── mymusic.html
│ │ ├── playlist.html
│ │ ├── playlist_songs.html
│ │ └── recent.html
└── website_images
│ ├── Detail.png
│ └── Home.png
├── to-do
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ └── index.html
└── src
│ ├── App.jsx
│ └── index.js
└── wordtyping-game
├── Readme.md
├── index.html
├── js
└── main.js
└── words.txt
/Automatic Birthdat Mail Sending/Readme.md:
--------------------------------------------------------------------------------
1 |
Are you bored with sending birthday wishes to your friends or do you forget to send wishes to your friends or do you want to wish them at 12 AM but you always fall asleep? Why not automate this simple task by writing a Python script.
2 |
3 | The first thing we do is import six libraries:
4 |
5 | pandas
6 | datetime
7 | smtplib
8 | time
9 | requests
10 | win10toast
11 | Apart from this, Also create an Excel sheet for containing records like this: Name, Email, Contact, Birthday, and Year.
12 |
13 | Approach:
14 |
15 | For the sending email part, We define a sendEmail() function which will start a Gmail session, send the email, and quit the session.
16 | For the SMS part, we must have an account on www.fast2sms.com from where we will get an API key. This API key is used to send SMS over mobile numbers using your account on fast2sms then We create a sendsms() function which will verify the API key and send SMS.
17 | In the driver code section, we read the data from Excel sheet and match today’s date with any of the birthdays. If there is a match, we call the sendEmail() and sendsms() functions and also we add the current year in the Excel sheet. Also, we have used ToastNotifier from win10toast library to show desktop notifications once the e-mail and SMS has been sent successfully.
18 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing guidelines
2 |
3 | ## Before contributing
4 |
5 | Welcome to [WebArena](https://github.com/anadee11/WebArena). Before sending your pull requests, make sure that you **read the whole guidelines**. If you have any doubt on the contributing guide, please feel free to email me on work.anadee@gmail.com .
6 |
7 | ### Contribution
8 |
9 | We appreciate any contribution, from from a very basic project to some cool projects. Please read this section if you are contributing your work.
10 |
11 | #### Folder Structure
12 |
13 | We want your work to be readable by others; therefore, we encourage you to note the following:
14 |
15 | - Make a new folder with name of the project you are contributing.
16 | - In this folder, put the files and a readme.md file.
17 | - The readme.md file should describe the project.
18 |
19 |
20 | #### Other points to remember while submitting your work:
21 | - Won't be accepting PR's without issues being raised and assigned.
22 | - Avoid infringement with the code of other projects, do not make your folder inside the other project .
23 | - Do not update the README.md and CONTRIBUTING.md.
24 | Happy Coding :)
--------------------------------------------------------------------------------
/Calculator/readme.md:
--------------------------------------------------------------------------------
1 | # Calculator
2 | This is a very basic calculator developed in HTML, CSS and JavaScript.
3 | The website was made by me for Frontend practice in my initial phase with the help of tutorials.
4 |
5 | Making it a brilliant project for revisiting the basics. For all beginners, this project surely is a bliss.
6 |
7 | ## Snapshot
8 |
9 |
10 | # [](https://forthebadge.com) [](https://forthebadge.com)
--------------------------------------------------------------------------------
/DIGITAL CLOCK/README.md:
--------------------------------------------------------------------------------
1 | # DIGITAL CLOCK
2 | This is a very basic Digital Clock developed in HTML, CSS and JavaScript.
3 | In this project I have used basic Date Object in JavaScript.
4 |
5 | Making it a brilliant project for revisiting the basics. For all beginners, this project surely is a bliss.
6 |
7 | ## Snapshot
8 |
13 |
14 | # [](https://forthebadge.com) [](https://forthebadge.com)
--------------------------------------------------------------------------------
/DIGITAL CLOCK/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/DIGITAL CLOCK/background.jpg
--------------------------------------------------------------------------------
/DIGITAL CLOCK/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | DIGITAL CLOCK
8 |
9 |
10 |
11 |
12 | Digital Clock
13 |
14 |
15 | 00
16 | Hours
17 |
18 |
19 | 00
20 | Minutes
21 |
22 |
23 | 00
24 | Seconds
25 |
26 |
27 | AM
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/DIGITAL CLOCK/screenshot/ss-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/DIGITAL CLOCK/screenshot/ss-1.png
--------------------------------------------------------------------------------
/DIGITAL CLOCK/script.js:
--------------------------------------------------------------------------------
1 | const hourE1 = document.getElementById("hour")
2 | const minutesE1 = document.getElementById("minutes")
3 | const secondsE1 = document.getElementById("seconds")
4 | const ampmE1 = document.getElementById("ampm")
5 |
6 | function updateclock(){
7 | let h = new Date().getHours();
8 | let m = new Date().getMinutes();
9 | let s = new Date().getSeconds();
10 | let ampm = "AM";
11 |
12 | if(h > 12){
13 | h = h - 12;
14 | ampm = "PM";
15 | }
16 |
17 | h = h < 10 ? "0" + h : h;
18 | m = m < 10 ? "0" + m : m;
19 | s = s < 10 ? "0" + s : s;
20 |
21 | hourE1.innerText = h;
22 | minutesE1.innerText = m;
23 | secondsE1.innerText = s;
24 | ampmE1.innerText = ampm;
25 | setTimeout(()=>{
26 | updateclock()
27 | },1000)
28 | }
29 |
30 | updateclock();
--------------------------------------------------------------------------------
/Food_Ordering_Website/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .vscode
3 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
4 |
5 | # dependencies
6 | /node_modules
7 | /.pnp
8 | .pnp.js
9 |
10 | # testing
11 | /coverage
12 |
13 | # production
14 | /build
15 |
16 | # misc
17 | .DS_Store
18 | .env.local
19 | .env.development.local
20 | .env.test.local
21 | .env.production.local
22 |
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
--------------------------------------------------------------------------------
/Food_Ordering_Website/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "food-ordering-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@testing-library/jest-dom": "^5.11.6",
7 | "@testing-library/react": "^11.2.2",
8 | "@testing-library/user-event": "^12.5.0",
9 | "react": "^17.0.1",
10 | "react-dom": "^17.0.1",
11 | "react-scripts": "4.0.1",
12 | "web-vitals": "^0.2.4"
13 | },
14 | "scripts": {
15 | "start": "react-scripts --openssl-legacy-provider start",
16 | "build": "react-scripts --openssl-legacy-provider build",
17 | "test": "react-scripts test",
18 | "eject": "react-scripts eject"
19 | },
20 | "eslintConfig": {
21 | "extends": [
22 | "react-app",
23 | "react-app/jest"
24 | ]
25 | },
26 | "browserslist": {
27 | "production": [
28 | ">0.2%",
29 | "not dead",
30 | "not op_mini all"
31 | ],
32 | "development": [
33 | "last 1 chrome version",
34 | "last 1 firefox version",
35 | "last 1 safari version"
36 | ]
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/favicon.ico
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/fow1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/fow1.png
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/fow2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/fow2.png
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/fow3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/fow3.png
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/fow4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/fow4.png
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/public/logo192.png
--------------------------------------------------------------------------------
/Food_Ordering_Website/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { useState } from "react";
2 |
3 | import Header from "./components/Layout/Header";
4 | import Meals from "./components/Meals/Meals";
5 | import Cart from "./components/Cart/Cart";
6 | import CartProvider from "./store/CartProvider";
7 |
8 | function App() {
9 | const[cartIsShown,setCartIsShown]=useState(false);
10 |
11 | const showCartHandler=()=>{
12 | setCartIsShown(true);
13 | };
14 |
15 | const hideCartHandler=()=>{
16 | setCartIsShown(false);
17 | };
18 |
19 | return (
20 |
21 | {cartIsShown&& }
22 |
23 |
24 |
25 |
26 |
27 | );
28 | }
29 |
30 | export default App;
31 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/assets/meals.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Food_Ordering_Website/src/assets/meals.jpg
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Cart/Cart.module.css:
--------------------------------------------------------------------------------
1 | .cart-items {
2 | list-style: none;
3 | margin: 0;
4 | padding: 0;
5 | max-height: 20rem;
6 | overflow: scroll;
7 | }
8 |
9 | .total {
10 | display: flex;
11 | justify-content: space-between;
12 | align-items: center;
13 | font-weight: bold;
14 | font-size: 1.5rem;
15 | margin: 1rem 0;
16 | }
17 |
18 | .actions {
19 | text-align: right;
20 | }
21 |
22 | .actions button {
23 | font: inherit;
24 | cursor: pointer;
25 | background-color: transparent;
26 | border: 1px solid #1C6758;
27 | padding: 0.5rem 2rem;
28 | border-radius: 25px;
29 | margin-left: 1rem;
30 | }
31 |
32 | .actions button:hover,
33 | .actions button:active {
34 | background-color: #D6CDA4;
35 | border-color: #D6CDA4;
36 | color: black;
37 | }
38 |
39 | .actions .button--alt {
40 | color: #1C6758;
41 | }
42 |
43 | .actions .button {
44 | background-color: #1C6758;
45 | color: white;
46 | }
47 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Cart/CartIcon.js:
--------------------------------------------------------------------------------
1 | const CartIcon = () => {
2 | return (
3 |
8 |
9 |
10 | );
11 | };
12 |
13 | export default CartIcon;
14 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Cart/CartItem.js:
--------------------------------------------------------------------------------
1 | import classes from "./CartItem.module.css";
2 |
3 | const CartItem = (props) => {
4 | const price = `$${props.price.toFixed(2)}`;
5 |
6 | return (
7 |
8 |
9 |
{props.name}
10 |
11 | {price}
12 | x {props.amount}
13 |
14 |
15 |
16 | −
17 | +
18 |
19 |
20 | );
21 | };
22 |
23 | export default CartItem;
24 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Cart/CartItem.module.css:
--------------------------------------------------------------------------------
1 | .cart-item {
2 | display: flex;
3 | justify-content: space-between;
4 | align-items: center;
5 | border-bottom: 2px solid #1C6758;
6 | padding: 1rem 0;
7 | margin: 1rem 0;
8 | }
9 |
10 | .cart-item h2 {
11 | margin: 0 0 0.5rem 0;
12 | color: #363636;
13 | }
14 |
15 | .summary {
16 | width: 10rem;
17 | display: flex;
18 | justify-content: space-between;
19 | align-items: center;
20 | }
21 |
22 | .price {
23 | font-weight: bold;
24 | color: #1C6758;
25 | }
26 |
27 | .amount {
28 | font-weight: bold;
29 | border: 1px solid #ccc;
30 | padding: 0.25rem 0.75rem;
31 | border-radius: 6px;
32 | color: #363636;
33 | }
34 |
35 | .actions {
36 | display: flex;
37 | flex-direction: column;
38 | }
39 |
40 | @media (min-width: 768px) {
41 | .actions {
42 | flex-direction: row;
43 | }
44 | }
45 |
46 | .cart-item button {
47 | font: inherit;
48 | font-weight: bold;
49 | font-size: 1.25rem;
50 | color: #1C6758;
51 | border: 1px solid #1C6758;
52 | width: 3rem;
53 | text-align: center;
54 | border-radius: 6px;
55 | background-color: transparent;
56 | cursor: pointer;
57 | margin-left: 1rem;
58 | margin: 0.25rem;
59 | }
60 |
61 | .cart-item button:hover,
62 | .cart-item button:active {
63 | background-color: #1C6758;
64 | color: white;
65 | }
66 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Cart/Checkout.module.css:
--------------------------------------------------------------------------------
1 | .form {
2 | margin: 1rem 0;
3 | height: 15rem;
4 | overflow: scroll;
5 | }
6 |
7 | .control {
8 | margin-bottom: 0.5rem;
9 | }
10 |
11 | .control label {
12 | font-weight: bold;
13 | margin-bottom: 0.25rem;
14 | display: block;
15 | }
16 |
17 | .control input {
18 | font: inherit;
19 | border: 1px solid #ccc;
20 | border-radius: 4px;
21 | width: 20rem;
22 | max-width: 100%;
23 | }
24 |
25 | .actions {
26 | display: flex;
27 | justify-content: flex-end;
28 | gap: 1rem;
29 | }
30 |
31 | .actions button {
32 | font: inherit;
33 | color: #1C6758;
34 | cursor: pointer;
35 | background-color: transparent;
36 | border: none;
37 | border-radius: 25px;
38 | padding: 0.5rem 2rem;
39 | }
40 |
41 | .actions button:hover,
42 | .actions button:active {
43 | background-color: #ffe6dc;
44 | }
45 |
46 | .actions .submit {
47 | border: 1px solid #1C6758;
48 | background-color: #1C6758;
49 | color: white;
50 | }
51 |
52 | .actions .submit:hover,
53 | .actions .submit:active {
54 | background-color: #ffe6dc;
55 | color: black;
56 | }
57 |
58 | .invalid label {
59 | color: #ca3e51;
60 | }
61 |
62 | .invalid input {
63 | border-color: #aa0b20;
64 | background-color: #ffeff1;
65 | }
66 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Layout/Header.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import mealsImg from "../../assets/meals.jpg";
4 | import HeaderCartButton from "./HeaderCartButton";
5 | import classes from "./Header.module.css";
6 |
7 | const Header = (props) => {
8 | return (
9 |
10 |
11 | Order Food
12 |
13 |
14 |
15 |
16 |
17 |
18 | );
19 | };
20 |
21 | export default Header;
22 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Layout/Header.module.css:
--------------------------------------------------------------------------------
1 | .header {
2 | position: fixed;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 5rem;
7 | background-color: #1C6758;
8 | color: white;
9 | display: flex;
10 | justify-content: space-between;
11 | align-items: center;
12 | padding: 0 10%;
13 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
14 | z-index: 10;
15 | }
16 |
17 | .main-image {
18 | width: 100%;
19 | height: 25rem;
20 | z-index: 0;
21 | overflow: hidden;
22 | }
23 |
24 | .main-image img {
25 | width: 110%;
26 | height: 100%;
27 | object-fit: cover;
28 | transform: rotateZ(-5deg) translateY(-4rem) translateX(-1rem);
29 | }
30 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Layout/HeaderCartButton.js:
--------------------------------------------------------------------------------
1 | import { useContext, useEffect, useState } from "react";
2 |
3 | import CartIcon from "../Cart/CartIcon";
4 | import CartContext from "../../store/cart-context";
5 |
6 | import classes from "./HeaderCartButton.module.css";
7 |
8 | const HeaderCartButton = (props) => {
9 | const [btnIsHighlighted, setBtnIsHighlighted] = useState(false);
10 |
11 | const cartCtx = useContext(CartContext);
12 |
13 | const { items } = cartCtx;
14 |
15 | const numberOfCartItems = items.reduce((currNumber, item) => {
16 | return currNumber + item.amount;
17 | }, 0);
18 |
19 | const btnClasses = `${classes.button} ${
20 | btnIsHighlighted ? classes.bump : ""
21 | }`;
22 |
23 | useEffect(() => {
24 | if (items.length === 0) {
25 | return;
26 | }
27 | setBtnIsHighlighted(true);
28 |
29 | const timer = setTimeout(() => {
30 | setBtnIsHighlighted(false);
31 | }, 300);
32 |
33 | return () => {
34 | clearTimeout(timer);
35 | };
36 | }, [items]);
37 |
38 | return (
39 |
40 |
41 |
42 |
43 | Your Cart
44 | {numberOfCartItems}
45 |
46 | );
47 | };
48 |
49 | export default HeaderCartButton;
50 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Layout/HeaderCartButton.module.css:
--------------------------------------------------------------------------------
1 | .button {
2 | cursor: pointer;
3 | font: inherit;
4 | border: none;
5 | background-color: #1d4833;
6 | color: white;
7 | padding: 0.75rem 3rem;
8 | display: flex;
9 | justify-content: space-around;
10 | align-items: center;
11 | border-radius: 25px;
12 | font-weight: bold;
13 | }
14 |
15 | .button:hover,
16 | .button:active {
17 | background-color: #D6CDA4;
18 | color: black;
19 | }
20 |
21 | .icon {
22 | width: 1.35rem;
23 | height: 1.35rem;
24 | margin-right: 0.5rem;
25 | }
26 |
27 | .badge {
28 | background-color: #75884f;
29 | padding: 0.25rem 1rem;
30 | border-radius: 25px;
31 | margin-left: 1rem;
32 | font-weight: bold;
33 | }
34 |
35 | .button:hover .badge,
36 | .button:active .badge {
37 | background-color: #EEF2E6;
38 | }
39 |
40 | .bump {
41 | animation: bump 300ms ease-out;
42 | }
43 |
44 | @keyframes bump {
45 | 0% {
46 | transform: scale(1);
47 | }
48 | 10% {
49 | transform: scale(0.9);
50 | }
51 | 30% {
52 | transform: scale(1.1);
53 | }
54 | 50% {
55 | transform: scale(1.15);
56 | }
57 | 100% {
58 | transform: scale(1);
59 | }
60 | }
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/AvailableMeals.module.css:
--------------------------------------------------------------------------------
1 | .meals {
2 | max-width: 60rem;
3 | width: 90%;
4 | margin: 2rem auto;
5 | animation: meals-appear 1s ease-out forwards;
6 | }
7 |
8 | .mealsLoading {
9 | text-align: center;
10 | color: white;
11 | }
12 |
13 | .mealsError {
14 | text-align:center;
15 | color: red;
16 | }
17 |
18 | .meals ul {
19 | list-style: none;
20 | margin: 0;
21 | padding: 0;
22 | }
23 |
24 | @keyframes meals-appear {
25 | from {
26 | opacity: 0;
27 | transform: translateY(3rem);
28 | }
29 |
30 | to {
31 | opacity: 1;
32 | transform: translateY(0);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealItem/MealItem.js:
--------------------------------------------------------------------------------
1 | import { useContext } from "react";
2 | import classes from "./MealItem.module.css";
3 |
4 | import MealItemForm from "./MealItemForm";
5 | import CartContext from "../../../store/cart-context";
6 |
7 | const MealItem = (props) => {
8 | const cartCtx = useContext(CartContext);
9 |
10 | const price = `$${props.price.toFixed(2)}`;
11 |
12 | const addToCartHandler = (amount) => {
13 | cartCtx.addItem({
14 | id: props.id,
15 | name: props.name,
16 | amount: amount,
17 | price: props.price,
18 | });
19 | };
20 |
21 | return (
22 |
23 |
24 |
{props.name}
25 |
{props.description}
26 |
{price}
27 |
28 |
29 |
30 |
31 |
32 | );
33 | };
34 |
35 | export default MealItem;
36 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealItem/MealItem.module.css:
--------------------------------------------------------------------------------
1 | .meal {
2 | display: flex;
3 | justify-content: space-between;
4 | margin: 1rem;
5 | padding-bottom: 1rem;
6 | border-bottom: 1px solid #ccc;
7 | }
8 |
9 | .meal h3 {
10 | margin: 0 0 0.25rem 0;
11 | }
12 |
13 | .description {
14 | font-style: italic;
15 | }
16 |
17 | .price {
18 | margin-top: 0.25rem;
19 | font-weight: bold;
20 | color: #3D8361;
21 | font-size: 1.25rem;
22 | }
23 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealItem/MealItemForm.js:
--------------------------------------------------------------------------------
1 | import { useRef, useState } from "react";
2 | import Input from "../../UI/Input";
3 | import classes from "./MealItemForm.module.css";
4 |
5 | const MealItemForm = (props) => {
6 | const[amountIsValid,setAmountIsValid]=useState(true);
7 | const amountInputRef = useRef();
8 |
9 | const submitHandler = (event) => {
10 | event.preventDefault();
11 |
12 | const enteredAmount = amountInputRef.current.value;
13 | const enteredAmountToNumber = +enteredAmount;
14 |
15 | if (
16 | enteredAmount.trim().length=== 0 ||
17 | enteredAmountToNumber < 1 ||
18 | enteredAmountToNumber > 5
19 | ) {
20 | setAmountIsValid(false);
21 | return;
22 | }
23 | props.onAddToCart(enteredAmountToNumber);
24 | };
25 | return (
26 |
42 | );
43 | };
44 |
45 | export default MealItemForm;
46 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealItem/MealItemForm.module.css:
--------------------------------------------------------------------------------
1 | .form {
2 | text-align: right;
3 | }
4 |
5 | .form button {
6 | font: inherit;
7 | cursor: pointer;
8 | background-color: #3D8361;
9 | border: 1px solid #3D8361;
10 | color: white;
11 | padding: 0.25rem 2rem;
12 | border-radius: 20px;
13 | font-weight: bold;
14 | }
15 |
16 | .form button:hover,
17 | .form button:active {
18 | background-color: #1C6758;
19 | border-color: #1C6758;
20 | }
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/Meals.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import AvailableMeals from "./AvailableMeals";
3 | import MealsSummary from "./MealsSummary";
4 |
5 | const Meals = () => {
6 | return (
7 |
8 |
9 |
10 |
11 | );
12 | };
13 |
14 | export default Meals;
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealsSummary.js:
--------------------------------------------------------------------------------
1 | import classes from './MealsSummary.module.css';
2 |
3 | const MealsSummary = () => {
4 | return (
5 |
6 | Delicious Food, Delivered To You
7 |
8 | Choose your favorite meal from our broad selection of available meals
9 | and enjoy a delicious lunch or dinner at home.
10 |
11 |
12 | All our meals are cooked with high-quality ingredients, just-in-time and
13 | of course by experienced chefs!
14 |
15 |
16 | );
17 | };
18 |
19 | export default MealsSummary;
20 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/Meals/MealsSummary.module.css:
--------------------------------------------------------------------------------
1 | .summary {
2 | text-align: center;
3 | max-width: 45rem;
4 | width: 90%;
5 | margin: auto;
6 | margin-top: -10rem;
7 | position: relative;
8 | background-color: #383838;
9 | color: white;
10 | border-radius: 14px;
11 | padding: 1rem;
12 | box-shadow: 0 1px 18px 10px rgba(0, 0, 0, 0.25);
13 | }
14 |
15 | .summary h2 {
16 | font-size: 2rem;
17 | margin-top: 0;
18 | }
19 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Card.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import classes from './Card.module.css';
4 |
5 | const Card = (props) => {
6 | return {props.children}
;
7 | };
8 |
9 | export default Card;
10 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Card.module.css:
--------------------------------------------------------------------------------
1 | .card {
2 | padding: 1rem;
3 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
4 | border-radius: 14px;
5 | background-color: white;
6 | }
7 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Input.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import classes from "./Input.module.css";
3 |
4 | const Input = React.forwardRef((props,ref) => {
5 | return (
6 |
7 | {props.label}
8 |
9 |
10 | );
11 | });
12 |
13 | export default Input;
14 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Input.module.css:
--------------------------------------------------------------------------------
1 | .input {
2 | display: flex;
3 | align-items: center;
4 | margin-bottom: 0.5rem;
5 | }
6 |
7 | .input label {
8 | font-weight: bold;
9 | margin-right: 1rem;
10 | }
11 |
12 | .input input {
13 | width: 3rem;
14 | border-radius: 5px;
15 | border: 1px solid #ccc;
16 | font: inherit;
17 | padding-left: 0.5rem;
18 | }
19 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Modal.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import classes from "./Modal.module.css";
4 |
5 | const Backdrop = (props) => {
6 | return
;
7 | };
8 |
9 | const ModalOverlay = (props) => {
10 | return (
11 |
12 |
{props.children}
13 |
14 | );
15 | };
16 |
17 | const Modal = (props) => {
18 | return (
19 |
20 | {ReactDOM.createPortal( , document.getElementById("overlays"))}
21 | {ReactDOM.createPortal({props.children} ,document.getElementById("overlays"))}
22 |
23 | );
24 | };
25 |
26 | export default Modal;
27 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/components/UI/Modal.module.css:
--------------------------------------------------------------------------------
1 | .backdrop {
2 | position: fixed;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100vh;
7 | z-index: 20;
8 | background-color: rgba(0, 0, 0, 0.75);
9 | }
10 |
11 | .modal {
12 | position: fixed;
13 | top: 15vh;
14 | left: 5%;
15 | width: 90%;
16 | background-color: white;
17 | padding: 1rem;
18 | border-radius: 14px;
19 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
20 | z-index: 30;
21 | animation: slide-down 300ms ease-out forwards;
22 | }
23 |
24 | @media (min-width: 768px) {
25 | .modal {
26 | width: 40rem;
27 | left: calc(50% - 20rem);
28 | }
29 | }
30 |
31 | @keyframes slide-down {
32 | from {
33 | opacity: 0;
34 | transform: translateY(-3rem);
35 | }
36 | to {
37 | opacity: 1;
38 | transform: translateY(0);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/index.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
2 |
3 | * {
4 | box-sizing: border-box;
5 | }
6 |
7 | html {
8 | font-family: 'Noto Sans JP', sans-serif;
9 | }
10 |
11 | body {
12 | margin: 0;
13 | background-color: #EEF2E6;
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 |
3 | import './index.css';
4 | import App from './App';
5 |
6 | ReactDOM.render( , document.getElementById('root'));
7 |
--------------------------------------------------------------------------------
/Food_Ordering_Website/src/store/cart-context.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const CartContext = React.createContext({
4 | items: [],
5 | totalAmount: 0,
6 | addItem: (item) => {},
7 | removeItem: (id) => {},
8 | clearCart: (id) => {},
9 | });
10 |
11 | export default CartContext;
--------------------------------------------------------------------------------
/Movie-Streaming-Website/.env.example:
--------------------------------------------------------------------------------
1 | REACT_APP_API_KEY=YOUR_API_KEY
--------------------------------------------------------------------------------
/Movie-Streaming-Website/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 | .env
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/README.md:
--------------------------------------------------------------------------------
1 | # Movie Streaming Website
2 |
3 | This is a movie streaming website that allows users to watch movies online. The website is built using React.js and Material UI.
4 |
5 | ## Features
6 |
7 | - Users can view a list of movies
8 | - Users can view the details of a movie
9 | - Users can search for a movie
10 | - Users can view trending movies
11 | - Users can view the youtube trailer of a movie
12 |
13 | ## Getting Started
14 |
15 | 1. Clone the repository
16 |
17 | ```bash
18 | git clone https://github.com/Anadee11/WebArena.git
19 |
20 | ```
21 |
22 | 2. Change the working directory
23 |
24 | ```bash
25 | cd Movie-Streaming-Website
26 |
27 | ```
28 |
29 | 3. Install dependencies
30 |
31 | ```bash
32 | npm install
33 | ```
34 |
35 | 4. Run the app
36 |
37 | ```bash
38 | npm start
39 | ```
40 |
41 | 5. Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
42 |
43 | ## Screenshots
44 |
45 | 
46 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "movie-app",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@emotion/react": "^11.10.4",
7 | "@emotion/styled": "^11.10.4",
8 | "@mui/icons-material": "^5.10.9",
9 | "@mui/material": "^5.10.9",
10 | "@testing-library/jest-dom": "^5.16.5",
11 | "@testing-library/react": "^13.4.0",
12 | "@testing-library/user-event": "^13.5.0",
13 | "axios": "^1.1.2",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0",
16 | "react-router-dom": "^6.4.2",
17 | "react-scripts": "^2.1.3",
18 | "web-vitals": "^2.1.4"
19 | },
20 | "scripts": {
21 | "start": "react-scripts start",
22 | "build": "react-scripts build",
23 | "test": "react-scripts test",
24 | "eject": "react-scripts eject"
25 | },
26 | "eslintConfig": {
27 | "extends": [
28 | "react-app",
29 | "react-app/jest"
30 | ]
31 | },
32 | "browserslist": {
33 | "production": [
34 | ">0.2%",
35 | "not dead",
36 | "not op_mini all"
37 | ],
38 | "development": [
39 | "last 1 chrome version",
40 | "last 1 firefox version",
41 | "last 1 safari version"
42 | ]
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Movie-Streaming-Website/public/favicon.ico
--------------------------------------------------------------------------------
/Movie-Streaming-Website/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Movie-Streaming-Website/public/logo192.png
--------------------------------------------------------------------------------
/Movie-Streaming-Website/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Movie-Streaming-Website/public/logo512.png
--------------------------------------------------------------------------------
/Movie-Streaming-Website/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/App.css:
--------------------------------------------------------------------------------
1 | * {
2 | scroll-behavior: smooth;
3 | }
4 |
5 | .app {
6 | min-height: 100vh;
7 | background-color: #bac4d9;
8 | color: white;
9 | padding-top: 130px;
10 | padding-bottom: 70px;
11 | }
12 |
13 | @media (max-width: 700px) {
14 | .app {
15 | padding-top: 70px;
16 | }
17 | }
18 |
19 | .pageTitle {
20 | text-transform: uppercase;
21 | display: flex;
22 | justify-content: center;
23 | font-family: "Montserrat", sans-serif;
24 | font-size: 2vw;
25 | padding: 4px;
26 | border-radius: 50px;
27 | color: white;
28 | }
29 |
30 | @media (max-width: 1000px) {
31 | .pageTitle {
32 | font-size: 6.4vw;
33 | }
34 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/App.js:
--------------------------------------------------------------------------------
1 | import "./App.css";
2 | import { BrowserRouter, Route, Routes } from "react-router-dom";
3 | import Header from "./components/Header/Header";
4 | import SimpleBottomNavigation from "./components/MainNav";
5 | import React from "react";
6 | import Trending from "./Pages/Trending/Trending";
7 | import Movies from "./Pages/Movies/Movies";
8 | import Search from "./Pages/Search/Search";
9 | import { Container } from "@mui/material";
10 |
11 | function App() {
12 | return (
13 |
14 |
15 |
16 |
17 |
18 | } />
19 | } />
20 | } />
21 |
22 |
23 |
24 |
25 |
26 | );
27 | }
28 |
29 | export default App;
30 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/Pages/Search/Search.css:
--------------------------------------------------------------------------------
1 | .search {
2 | display: flex;
3 | margin: 15px 0;
4 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/Pages/Trending/Trending.css:
--------------------------------------------------------------------------------
1 | .trending {
2 | display: flex;
3 | flex-wrap: wrap;
4 | justify-content: space-around;
5 | }
6 |
7 | .pageTitle {
8 | color: black;
9 | font-weight: 700;
10 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/Pages/Trending/Trending.js:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useState } from "react";
2 | import axios from "axios";
3 | import "./Trending.css";
4 | import SingleContent from "../../components/SingleContent/SingleContent";
5 | import CustomPagination from "../../components/Pagination/CustomPagination";
6 |
7 | const Trending = () => {
8 | const [content, setContent] = useState([]);
9 | const [page, setPage] = useState(1);
10 |
11 | const fetchTrending = async () => {
12 | const { data } = await axios.get(
13 | `https://api.themoviedb.org/3/trending/all/day?api_key=${process.env.REACT_APP_API_KEY}&page=${page}`
14 | );
15 | console.log(data);
16 | setContent(data.results);
17 | };
18 |
19 | useEffect(() => {
20 | window.scroll(0, 0);
21 | fetchTrending();
22 | }, [page]);
23 | return (
24 |
25 |
Trending Today
26 |
27 | {content &&
28 | content.map(
29 | (c) =>
30 | c.media_type === "movie" && (
31 |
39 | )
40 | )}
41 |
42 |
43 |
44 | );
45 | };
46 |
47 | export default Trending;
48 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/components/Header/Header.css:
--------------------------------------------------------------------------------
1 | .header {
2 | width: 100%;
3 | cursor: pointer;
4 | position: fixed;
5 | display: flex;
6 | justify-content: center;
7 | text-transform: uppercase;
8 | background-color: #2c416a;
9 | font-family: "Montserrat", sans-serif;
10 | font-size: 5vw;
11 | padding-bottom: 15px;
12 | box-shadow: 0px 1px 5px black;
13 | color: white;
14 | z-index: 100;
15 | }
16 |
17 | @media (max-width: 1000px) {
18 | .header {
19 | padding-top: 15px;
20 | font-size: 6.4vw;
21 | }
22 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/components/Header/Header.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Header.css";
3 | const Header = () => {
4 | return (
5 | window.scroll(0, 0)} className="header">
6 | {" "}
7 | Movie Streaming App 🎬
8 |
9 | );
10 | };
11 |
12 | export default Header;
13 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/components/Pagination/CustomPagination.js:
--------------------------------------------------------------------------------
1 | import * as React from "react";
2 | import Pagination from "@mui/material/Pagination";
3 | import { ThemeProvider, createTheme } from "@mui/material/styles";
4 |
5 | const darkTheme = createTheme({
6 | palette: {
7 | type: "dark",
8 | },
9 | });
10 |
11 | export default function CustomPagination({ setPage, numOfPages = 10 }) {
12 | const handlePageChange = (page) => {
13 | setPage(page);
14 | window.scroll(0, 0);
15 | };
16 |
17 | return (
18 |
26 |
27 | handlePageChange(e.target.textContent)}
29 | count={numOfPages}
30 | color="primary"
31 | variant="outlined"
32 | hideNextButton
33 | hidePrevButton
34 | />
35 |
36 |
37 | );
38 | }
39 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/components/SingleContent/SingleContent.css:
--------------------------------------------------------------------------------
1 | .media {
2 | display: flex;
3 | flex-direction: column;
4 | width: 200px;
5 | padding: 5px;
6 | margin: 5px 0;
7 | background-color: #282c34;
8 | border-radius: 10px;
9 | position: relative;
10 | font-family: "Montserrat", sans-serif;
11 | }
12 |
13 | .media:hover {
14 | background-color: white;
15 | color: black;
16 | }
17 |
18 | @media (max-width: 550px) {
19 | .media {
20 | width: 46%;
21 | }
22 | }
23 |
24 | .poster {
25 | border-radius: 10px;
26 | }
27 |
28 | .title {
29 | width: 100%;
30 | text-align: center;
31 | font-size: 17px;
32 | padding: 8px 0;
33 | }
34 |
35 | .subTitle {
36 | display: flex;
37 | justify-content: space-between;
38 | padding-bottom: 3px;
39 | padding: 0 2px;
40 | padding-bottom: 3px;
41 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/components/SingleContent/SingleContent.js:
--------------------------------------------------------------------------------
1 | import { img_300, unavailable } from "../../config/config";
2 | import "./SingleContent.css";
3 | import React from "react";
4 | import ContentModal from "../ContentModal/ContentModal";
5 |
6 | const SingleContent = ({ id, poster, title, date, media_type }) => {
7 | return (
8 |
9 |
14 | {title}
15 |
16 | {(media_type = "Movie")}
17 | {date}
18 |
19 |
20 | );
21 | };
22 |
23 | export default SingleContent;
24 |
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/config/config.js:
--------------------------------------------------------------------------------
1 | //image sizes for tmdb
2 | export const img_300 = "https://image.tmdb.org/t/p/w300";
3 | export const img_500 = "https://image.tmdb.org/t/p/w500";
4 |
5 | // contentModal and singleContent
6 | export const unavailable =
7 | "https://www.movienewz.com/img/films/poster-holder.jpg";
8 |
9 | // contentModal
10 | export const unavailableLandscape =
11 | "https://user-images.githubusercontent.com/10515204/56117400-9a911800-5f85-11e9-878b-3f998609a6c8.jpg";
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/index.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100&display=swap");
2 | a {
3 | text-decoration: none;
4 | color: inherit;
5 | }
6 |
7 | body {
8 | margin: 0;
9 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
16 | }
--------------------------------------------------------------------------------
/Movie-Streaming-Website/src/index.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom/client";
3 | import "./index.css";
4 | import App from "./App";
5 |
6 | const root = ReactDOM.createRoot(document.getElementById("root"));
7 | root.render(
8 |
9 |
10 |
11 | );
12 |
--------------------------------------------------------------------------------
/Photo_Gallery/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "liveServer.settings.port": 5501
3 | }
--------------------------------------------------------------------------------
/Photo_Gallery/README.md:
--------------------------------------------------------------------------------
1 | # PHOTO GALLERY
2 | This is a Photo gallery website developed in HTML, CSS and JavaScript.
3 |
4 | # 📝Steps to run
5 |
6 | - Clone the repo into local machine
7 | - Open the folder with a code editor like VScode
8 | - Run the index.html
9 |
10 | # Snapshot
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Photo_Gallery/images/gallery.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/gallery.PNG
--------------------------------------------------------------------------------
/Photo_Gallery/images/i1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i1.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i10.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i11.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i12.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i13.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i14.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i14.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i15.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i15.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i16.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i17.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i17.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i19.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i2.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i20.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i21.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i21.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i22.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i22.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i23.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i24.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i26.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i27.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i28.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i29.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i3.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i30.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i30.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i31.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i31.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i32.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i4.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i5.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i6.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i7.jpg
--------------------------------------------------------------------------------
/Photo_Gallery/images/i8.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i8.webp
--------------------------------------------------------------------------------
/Photo_Gallery/images/i9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Photo_Gallery/images/i9.jpg
--------------------------------------------------------------------------------
/Portfolio website using React/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | node_modules/
6 | /.pnp
7 | .pnp.js
8 |
9 | # testing
10 | /coverage
11 |
12 | # production
13 | /build
14 |
15 | # misc
16 | .DS_Store
17 | .env.local
18 | .env.development.local
19 | .env.test.local
20 | .env.production.local
21 |
22 | npm-debug.log*
23 | yarn-debug.log*
24 | yarn-error.log*
25 |
--------------------------------------------------------------------------------
/Portfolio website using React/README.md:
--------------------------------------------------------------------------------
1 | # Portfolio
2 |
3 | ## Features
4 |
5 | ⚡️ Modern UI design \
6 | ⚡️ Styled with Tailwind CSS\
7 | ⚡️ Fully responsive and accessible design\
8 | ⚡️ Lottie animation\
9 | ⚡️ Responsive images (srcset & WebP)\
10 | ⚡️ Awesome illustrations
11 |
12 | ### Author
13 |
14 | [Chetan Thakral](https://github.com/chetan-2002)
15 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/craco.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | style: {
3 | postcss: {
4 | plugins: [require('tailwindcss'), require('autoprefixer')],
5 | },
6 | },
7 | };
8 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@craco/craco": "^6.4.3",
7 | "@emailjs/browser": "^3.6.2",
8 | "@tailwindcss/postcss7-compat": "^2.0.2",
9 | "@testing-library/jest-dom": "^5.11.6",
10 | "@testing-library/react": "^11.2.2",
11 | "@testing-library/user-event": "^12.6.0",
12 | "autoprefixer": "^9.8.6",
13 | "lottie-web": "^5.7.5",
14 | "postcss": "^7.0.35",
15 | "react": "^17.0.1",
16 | "react-dom": "^17.0.1",
17 | "react-scripts": "4.0.1",
18 | "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.2",
19 | "web-vitals": "^0.2.4"
20 | },
21 | "scripts": {
22 | "start": "craco start",
23 | "build": "craco build",
24 | "test": "craco test",
25 | "eject": "react-scripts eject"
26 | },
27 | "eslintConfig": {
28 | "extends": [
29 | "react-app",
30 | "react-app/jest"
31 | ]
32 | },
33 | "browserslist": {
34 | "production": [
35 | ">0.2%",
36 | "not dead",
37 | "not op_mini all"
38 | ],
39 | "development": [
40 | "last 1 chrome version",
41 | "last 1 firefox version",
42 | "last 1 safari version"
43 | ]
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/chetan_resume.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/chetan_resume.pdf
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/android-chrome-192x192.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/android-chrome-512x512.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/apple-touch-icon.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #da532c
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/favicon-16x16.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/favicon-32x32.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/favicon.ico
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/favicon/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/favicon/mstile-150x150.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/but_it.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/but_it.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/crypto.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/crypto.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/codepen.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/css3-original.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/external-link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/github.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/html5-original.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/javascript-original.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/leetcode-svgrepo-com.svg:
--------------------------------------------------------------------------------
1 | LeetCode icon
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/linkedin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/icons/nodejs-original.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/local_assist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/local_assist.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/logo.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/logo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/logo1.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/rocket-320.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/rocket-320.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/rocket-320.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/rocket-320.webp
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/rocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/rocket.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/rocket.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/rocket.webp
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/images/smart_compiler.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/public/images/smart_compiler.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Theelipan Prabakar | Portfolio",
3 | "short_name": "Theelipan Prabakar",
4 | "icons": [
5 | {
6 | "src": "/favicon/android-chrome-192x192.png",
7 | "sizes": "192x192",
8 | "type": "image/png",
9 | "purpose": "any maskable"
10 |
11 | },
12 | {
13 | "src": "/favicon/android-chrome-512x512.png",
14 | "sizes": "512x512",
15 | "type": "image/png",
16 | "purpose": "any maskable"
17 | }
18 | ],
19 | "start_url": ".",
20 | "theme_color": "#ffffff",
21 | "background_color": "#ffffff",
22 | "display": "standalone"
23 | }
24 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/offline.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Weather App
7 |
36 |
37 |
38 |
39 |
40 | Please go online to check the current weather.
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/App.js:
--------------------------------------------------------------------------------
1 | import { lazy, Suspense } from "react";
2 |
3 | const Header = lazy(() => import("./components/Header"));
4 | const Hero = lazy(() => import("./components/Hero"));
5 | const Project = lazy(() => import("./components/Project"));
6 | const Skill = lazy(() => import("./components/Skill"));
7 | const Contact = lazy(() => import("./components/Contact"));
8 |
9 | function App() {
10 | return (
11 |
14 | Loading
15 |
16 | }
17 | >
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | );
29 | }
30 |
31 | export default App;
32 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/components/Header.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const Header = () => {
4 | return (
5 |
6 |
7 |
8 |
9 |
37 |
38 | );
39 | };
40 |
41 | export default Header;
42 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/components/Hero.js:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef } from "react";
2 | import Lottie from "lottie-web";
3 | import animate from "lottie-web";
4 |
5 | const Hero = () => {
6 | const container = useRef(null);
7 |
8 | useEffect(() => {
9 | Lottie.loadAnimation({
10 | container: container.current,
11 | renderer: "svg",
12 | loop: true,
13 | autoplay: true,
14 | animationData: require("./coder-2.json"),
15 | });
16 | animate.setSpeed(0.5);
17 | }, []);
18 |
19 | return (
20 |
21 |
22 |
23 |
Hello. I’m Chetan
24 |
25 | I have a passion for developing user-friendly, accessible and
26 | responsive websites. I never stop learning and for me, each new
27 | project is another adventure.{" "}
28 |
29 |
30 |
31 |
32 |
33 | );
34 | };
35 |
36 | export default Hero;
37 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/images/bg-effects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Portfolio website using React/frontend/src/images/bg-effects.png
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root')
12 | );
13 |
14 | reportWebVitals();
15 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/Portfolio website using React/frontend/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | purge: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
3 | darkMode: false, // or 'media' or 'class'
4 | theme: {
5 | minHeight: {
6 | 70: "70vh",
7 | },
8 | extend: {},
9 | backgroundColor: (theme) => ({
10 | ...theme("colors"),
11 | primary: "#3490dc",
12 | secondary: "#ffed4a",
13 | danger: "#e3342f",
14 | black: "#121212",
15 | gray: "#1c1c1c",
16 | }),
17 | },
18 | variants: {
19 | extend: {},
20 | },
21 | plugins: [],
22 | };
23 |
--------------------------------------------------------------------------------
/Portfolio/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Portfolio Website
3 | This is a portfolio website developed in HTML, CSS and JavaScript.
4 | The website was made by me for Frontend practice in my initial phase with the help of tutorials.
5 |
6 | It contains all the sections which should be present in a portfolio website.
7 | however it is just a landing page and users can add their projects, social accounts themselves.
8 | ## Snapshot
9 | 
10 |
11 |
12 |
13 | # [](https://forthebadge.com) [](https://forthebadge.com)
--------------------------------------------------------------------------------
/Random Joke Generator/Prev Images/copyPrev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/Prev Images/copyPrev.png
--------------------------------------------------------------------------------
/Random Joke Generator/Prev Images/darkPrev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/Prev Images/darkPrev.png
--------------------------------------------------------------------------------
/Random Joke Generator/Prev Images/lightPrev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/Prev Images/lightPrev.png
--------------------------------------------------------------------------------
/Random Joke Generator/README.md:
--------------------------------------------------------------------------------
1 | Joke Generator
2 |
3 |
4 |
5 |
6 | A Random Joke Generator
7 |
8 | - [x] Click to generate new joke.
9 | - [x] Copy joke to clipboard.
10 | - [x] Light and dark mode.
11 |
12 |
17 |
18 | ## Previews
19 |
20 | - Light Mode
21 |
22 |
23 |
24 |
25 |
26 |
27 | - Dark Mode
28 |
29 |
30 |
31 |
32 |
33 | - Copy PopUp
34 |
35 |
36 |
37 |
38 |
39 | ## In Preview
40 |
41 | The font in preview is [Roboto Mono](https://fonts.google.com/specimen/Roboto+Mono?query=roboto+mono)
42 |
43 | ## Other
44 |
45 | Made with ❤️ [Sahil Chandravanshi](https://www.sahilchandravanshi.com/).
--------------------------------------------------------------------------------
/Random Joke Generator/copied.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/copied.png
--------------------------------------------------------------------------------
/Random Joke Generator/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/icon.ico
--------------------------------------------------------------------------------
/Random Joke Generator/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Random Joke Generator
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
Random Joke Generator
23 |
24 |
Here's your Joke!/b>
25 |
26 |
Click to get a Joke
27 |
28 |
29 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Random Joke Generator/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random Joke Generator/logo.png
--------------------------------------------------------------------------------
/Random-Number-Generator/Readme.md:
--------------------------------------------------------------------------------
1 | # **Random Text Generator**
2 |
3 | ## This is a random text generator application developed using HTML, CSS and JAVASCRIPT. This is a very helpful project to understand the basics of Javascript. Hope this project helps other developers who are starting out their web development journey.
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/Random-Number-Generator/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Random-Number-Generator/Screenshot.png
--------------------------------------------------------------------------------
/Random-Number-Generator/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Random Number Generator
8 |
9 |
10 |
11 |
12 |
Random Number Generator
13 |
14 | Lower Limit
15 |
16 |
17 |
18 | Upper Limit
19 |
20 |
21 |
22 |
23 | GENERATE
24 |
25 |
26 |
27 | Click Generate Now!
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Random-Number-Generator/script.js:
--------------------------------------------------------------------------------
1 | var btn= document.getElementById("generate");
2 | var res=
3 | document.getElementById("answer")
4 |
5 | btn.addEventListener("click",function() {
6 | var min=document.getElementById("low").value;
7 | var max=document.getElementById("up").value;
8 |
9 | min=parseInt(min);
10 | max=parseInt(max);
11 | ans=Math.floor(Math.random() * (max - min) ) + min;
12 | res.innerHTML = ans;
13 | });
--------------------------------------------------------------------------------
/Random-Number-Generator/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300&display=swap');
2 |
3 | *{
4 | padding: 0px;
5 | margin: 0px;
6 | }
7 | body{
8 | font-family: 'Nunito', sans-serif;
9 | height: 100vh;
10 | width: 100%;
11 | background: linear-gradient(rgb(8, 8, 8),rgb(105, 1, 1));
12 | }
13 | .container{
14 | background:white;
15 | top: 50%;
16 | left: 50%;
17 | position: absolute;
18 | transform: translate(-50%,-50%);
19 | height: 450px;
20 | width: 400px;
21 | border-radius: 20px;
22 | text-align: center;
23 | }
24 | .heading
25 | {
26 | color: black;
27 | font-size: 30px;
28 | font-weight: 800;;
29 | padding: 20px 20px 0px 20px;
30 | }
31 | .value
32 | {
33 | margin: 20px 20px;
34 | color: black;
35 | font-size: 20px;
36 | font-weight: 600;
37 | }
38 | input{
39 | padding: 10px 20px;
40 | font-size: 18px;
41 | border: 1px solid black;
42 | border-radius: 10px;
43 | margin-top: 3px;
44 | }
45 | .submit
46 | {
47 | margin: 20px;
48 | padding: 15px 25px;
49 | width: 65%;
50 | font-size: 16px;
51 | color: white;
52 | background-color: black;
53 | border: none;
54 | cursor: pointer;
55 | border-radius: 10px;
56 | transition: 0.3s all;
57 | }
58 | .submit:hover
59 | {
60 | background: white;
61 | color:black;
62 | border:2px solid black;
63 | }
64 |
65 | .res
66 | {
67 | font-size: 30px;
68 | font-weight: 600;
69 | color:black;
70 | }
71 |
--------------------------------------------------------------------------------
/Rock-Paper-Scissor/Readme.md:
--------------------------------------------------------------------------------
1 | # **ROCK PAPER SCISSOR GAME**
2 |
3 | ## This is a rock paper scissor game developed using HTML, CSS and JAVASCRIPT. This is very helpful project to understand the basics of Javascript. Hope this project helps other developers wo are starting out their web development journey.
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/Rock-Paper-Scissor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | rock-paper-scissors
8 |
9 |
10 |
11 |
12 |
Rock Paper Scissor
13 |
You :-0
14 |
Computer :-0
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
You chose
28 |
Computer chose
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Rock-Paper-Scissor/rock-paper-scissor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Rock-Paper-Scissor/rock-paper-scissor.png
--------------------------------------------------------------------------------
/Rock-Paper-Scissor/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300&display=swap');
2 | *{
3 | padding: 0px;
4 | margin: 0px;
5 | box-sizing: border-box;
6 | }
7 | body{
8 | font-family: 'Nunito', sans-serif;
9 | height: 100vh;
10 | width: 100%;
11 | background: linear-gradient(blue,indigo);
12 | }
13 | .container{
14 | position: relative;
15 | top: 50%;
16 | left: 50%;
17 | border-radius: 10px;
18 | transform: translate(-50%,-50%);
19 | background: white;
20 | width: 600px;
21 | height: 360px;
22 | padding: 19px;
23 |
24 | }
25 | #user,#comp{
26 | text-align: right;
27 | margin-right: 20px;
28 |
29 | }
30 | .wrapper{
31 | margin: 20px;
32 | text-align: center;
33 | margin-top: 30px;
34 | }
35 | img{
36 | height: 80px;
37 | width: 80px;
38 | text-align: center;
39 | background: rgb(79, 79, 150);
40 | background-size: cover;
41 | border-radius: 50%;
42 |
43 | }
44 | button{
45 | margin: 20px;
46 | background: rgb(79, 79, 150);
47 | border: none;
48 | outline: none;
49 | cursor: pointer;
50 | border-radius: 50%;
51 | }
52 | button:hover{
53 | transform: translateY(-15px);
54 | }
55 | p{
56 | text-align: center;
57 | }
58 | #result{
59 | font-weight: 500;
60 | }
--------------------------------------------------------------------------------
/Season_Detector/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/Season_Detector/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "homepage": "https://Anadee11.github.io/Season_Detector",
3 | "name": "seasons",
4 | "version": "0.1.0",
5 | "private": true,
6 | "dependencies": {
7 | "@testing-library/jest-dom": "^5.16.2",
8 | "@testing-library/react": "^12.1.2",
9 | "@testing-library/user-event": "^13.5.0",
10 | "gh-pages": "^4.0.0",
11 | "react": "^17.0.2",
12 | "react-dom": "^17.0.2",
13 | "react-scripts": "5.0.0",
14 | "web-vitals": "^2.1.4"
15 | },
16 | "scripts": {
17 | "predeploy": "npm run build",
18 | "deploy": "gh-pages -d build",
19 | "start": "react-scripts start",
20 | "build": "react-scripts build",
21 | "test": "react-scripts test",
22 | "eject": "react-scripts eject"
23 | },
24 | "eslintConfig": {
25 | "extends": [
26 | "react-app",
27 | "react-app/jest"
28 | ]
29 | },
30 | "browserslist": {
31 | "production": [
32 | ">0.2%",
33 | "not dead",
34 | "not op_mini all"
35 | ],
36 | "development": [
37 | "last 1 chrome version",
38 | "last 1 firefox version",
39 | "last 1 safari version"
40 | ]
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Season_Detector/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Season_Detector/public/favicon.ico
--------------------------------------------------------------------------------
/Season_Detector/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
15 | React App
16 |
17 |
18 | You need to enable JavaScript to run this app.
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Season_Detector/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Season_Detector/public/logo192.png
--------------------------------------------------------------------------------
/Season_Detector/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/Season_Detector/public/logo512.png
--------------------------------------------------------------------------------
/Season_Detector/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/Season_Detector/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/Season_Detector/src/SeasonDisplay.css:
--------------------------------------------------------------------------------
1 | .icon-left{
2 | position: absolute;
3 | left: 10px;
4 | top: 10px;
5 | }
6 | .icon-right{
7 | position: absolute;
8 | right: 10px;
9 | bottom: 10px;
10 | }
11 | .season-display{
12 | display: flex;
13 | justify-content: center;
14 | align-items: center;
15 | height: 100vh;
16 | }
17 | .Winter{
18 | background-color: #cee8ff;
19 | }
20 | .Summer{
21 | background-color: rgb(255, 221, 159);
22 | }
23 | .season-display.Winter i{
24 | color: #43bae1;
25 | }
26 | .season-display.Summer i{
27 | color: orange;
28 | }
--------------------------------------------------------------------------------
/Season_Detector/src/SeasonDisplay.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import './SeasonDisplay.css'
3 |
4 | const seasonConfig = {
5 | Summer:{
6 | text:`The Summers are damn so hot!!!!`,
7 | iconName:'sun'
8 | },
9 | Winter:{
10 | text:'Winter Season it is',
11 | iconName:'snowflake'
12 | }
13 | };
14 |
15 | const getSeason = (lat,month)=>{
16 | if(month>2 && month <9){
17 | if(lat>0)
18 | return 'Summer';
19 | else
20 | return 'Winter';
21 | }
22 | else{
23 | if(lat>0){
24 | return 'Winter';
25 | }
26 | else
27 | return 'Summer';
28 | }
29 | }
30 |
31 | const SeasonDisplay=(props)=>{
32 | const season =getSeason(props.lat, new Date().getMonth())
33 | // console.log(season);
34 | const {text,iconName} = seasonConfig[season];
35 | return(
36 |
37 |
38 |
{text}
39 |
40 |
41 | );
42 | };
43 |
44 | export default SeasonDisplay;
--------------------------------------------------------------------------------
/Season_Detector/src/Spinner.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | const Spinner =(props)=>{
4 | return (
5 | <>
6 |
9 |
10 | >
11 | );
12 | };
13 | Spinner.defaultProps={
14 | message:"Loading..."
15 | };
16 |
17 | export default Spinner;
--------------------------------------------------------------------------------
/Season_Detector/src/index.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import SeasonDisplay from "./SeasonDisplay";
4 | import Spinner from "./Spinner";
5 |
6 | class App extends React.Component {
7 | // constructor(props){
8 | // super(props);
9 | // this.state = {lat: null, errMessage:''}
10 | // }
11 | state = { lat: null, errMessage: '' }
12 |
13 | componentDidMount() {
14 | window.navigator.geolocation.getCurrentPosition(
15 | (position) => this.setState({ lat: position.coords.latitude }),
16 | (err) => this.setState({ errMessage: err.message })
17 | );
18 | }
19 | renderContent() {
20 | if (!this.state.errMessage && this.state.lat) {
21 | return (
22 |
23 | );
24 | }
25 | if (this.state.errMessage && !this.state.lat) {
26 | return (
27 | Error : {this.state.errMessage}
28 | );
29 | }
30 | return
31 | }
32 | render() {
33 | return(
34 |
35 | {this.renderContent()}
36 |
37 | );
38 | };
39 |
40 | }
41 |
42 | ReactDOM.render( , document.getElementById("root"));
--------------------------------------------------------------------------------
/TIC-TAC-TOE/JavaScript/config.js:
--------------------------------------------------------------------------------
1 | function openPlayerConfig(event) {
2 | playerConfigoverlay.style.display = 'block';
3 | backdropElement.style.display = 'block';
4 | editedPlayer = +event.target.dataset.playerid; //+ will conver string to number
5 | }
6 |
7 | function closePlayerConfig() {
8 | playerConfigoverlay.style.display = 'none';
9 | backdropElement.style.display = 'none';
10 | errorOutputs.textContent = '';
11 | InputField.value = '';
12 |
13 | }
14 |
15 | function savePlayerConfig(event) {
16 | event.preventDefault();
17 | const formData = new FormData(event.target);
18 | const enteredPlayername = formData.get('playername').trim(); //removes space before or after test
19 |
20 | if(!enteredPlayername){
21 | errorOutputs.textContent = 'Please Enter a valid Name !';
22 | return;
23 | }
24 |
25 | const updatedPlayerData = document.getElementById('player-'+editedPlayer+'-data');
26 | updatedPlayerData.children[1].textContent = enteredPlayername;
27 | players[editedPlayer - 1].name=enteredPlayername;
28 | closePlayerConfig();
29 | }
--------------------------------------------------------------------------------
/TIC-TAC-TOE/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Tic-Tac-Toe
3 | This is a basic tic-tac-toe game developed in HTML, CSS and JavaScript.
4 | The website was made by me for Frontend practice in my initial phase with the help of tutorials.
5 |
6 | Two players can play this game locally from one pc or laptop. Players can enter their name and click on start game to start the game.
7 |
8 | ## Snapshot
9 | 
10 |
11 |
12 | # [](https://forthebadge.com) [](https://forthebadge.com)
--------------------------------------------------------------------------------
/TIC-TAC-TOE/styles/game.css:
--------------------------------------------------------------------------------
1 | #active-game{
2 | text-align: center;
3 | margin: 2rem 0 5rem 0;
4 | display: none;
5 | }
6 |
7 | #game-over{
8 | max-width: 40rem;
9 | margin: auto;
10 | width: 90%;
11 | padding: 1rem 2rem;
12 | background-color: rgb(50, 5, 87);
13 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
14 | border-radius: 4px;
15 | color: white;
16 | display: none;
17 | }
18 |
19 | #game-over h3{
20 | font-size: 2.5rem;
21 | margin: 0.5rem 0;
22 | }
23 |
24 | #active-player-name{
25 | font-weight: bold;
26 | color: rgb(50, 5, 87);
27 | }
28 |
29 | #game-board{
30 | list-style: none;
31 | margin: 1rem 0;
32 | padding: 0;
33 | display: grid;
34 | grid-template-columns: 6rem 6rem 6rem;
35 | grid-template-rows: repeat(3,6rem);
36 | justify-content: center;
37 | gap: 0.5rem;
38 |
39 | }
40 |
41 | #game-board li{
42 | background-color: rgb(215, 187, 247);
43 | border-radius: 2px;
44 | cursor: pointer;
45 | display: flex;
46 | justify-content: center;
47 | align-items: center;
48 | font-size: 2.5rem;
49 | font-weight: bold;
50 | }
51 |
52 | #game-board li:hover{
53 | background-color: rgb(112, 13, 204);
54 | }
55 |
56 | #game-board li.disabled{
57 | background-color: rgb(112, 13, 204);
58 | cursor: default;
59 | color: white;
60 | }
61 |
62 | @media (max-width:48rem){
63 | #game-over{
64 | width: 20rem;
65 | }
66 | #game-over h3{
67 | font-size: 2rem;
68 | margin: 0.5rem 0;
69 | }
70 | }
--------------------------------------------------------------------------------
/TIC-TAC-TOE/styles/overlays.css:
--------------------------------------------------------------------------------
1 | .modal{
2 | position: fixed;
3 | top: 22%;
4 | left: 30%;
5 | width: 50%;
6 | background-color: white;
7 | padding: 1rem;
8 | border-radius: 6px;
9 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
10 | display: none;
11 | }
12 | #backdrop{
13 | position: fixed;
14 | top:0;
15 | left: 0;
16 | width: 100%;
17 | height: 100%;
18 | background-color: rgba(0, 0, 0, 0.7);
19 | display: none;
20 | }
21 | @media (max-width:48rem) {
22 | .modal{
23 | left: 25%;
24 | width: 50%;
25 | }
26 | }
--------------------------------------------------------------------------------
/TIC-TAC-TOE/styles/styles.css:
--------------------------------------------------------------------------------
1 | body{
2 | margin: 0;
3 | font-family: 'Open Sans', sans-serif;
4 | color: rgb(44, 41, 44);
5 | background-color: rgb(247, 239, 247);
6 | }
7 |
8 | header{
9 | background-color: rgb(140, 0, 255);
10 | color: white;
11 | padding: 2rem 5%;
12 | text-align: center;
13 | }
14 |
15 | .btn{
16 | font: inherit;
17 | padding: 0.5rem 1.5rem;
18 | background-color: rgb(140, 0, 255);
19 | border: 1px solid rgb(140, 0, 255);
20 | color: white;
21 | border-radius: 4px;
22 | cursor: pointer;
23 | }
24 |
25 | .btn-alt{
26 | background-color: transparent;
27 | border-color: transparent;
28 | color: rgb(140, 0, 255);
29 | }
30 |
31 | .btn:hover{
32 | background-color: rgb(79, 10,190);
33 | border-color: rgb(140, 0, 255);
34 | }
35 |
36 | .btn-alt:hover{
37 | background-color: rgb(227, 204, 247);
38 | }
--------------------------------------------------------------------------------
/Weather app/README.md:
--------------------------------------------------------------------------------
1 | # Weather App
2 | This is a weather app built using HTML, CSS and JS. The user can Enter the location and the corresponding weather of the location will be displayed. An emoji will also be displayed based on the current temperature like sunny, night.
3 |
4 | The weather is fetched using API call.
5 | API used is openWeatherMap. [Official Documentation](https://openweathermap.org/)
6 |
7 |
8 | ## Tech-Stack
9 | HTML, CSS, JavaScript
10 |
11 | ## Steps to Run:
12 | - Clone the repo into local machine
13 | - Open the folder with a code editor like VScode
14 | - Run the index.html
15 |
16 | ## Snapshot:
17 | 
18 | 
19 | 
20 |
21 |
--------------------------------------------------------------------------------
/Weather app/img/cloud.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Weather app/img/down.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Weather app/img/up.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Weather app/js/request.js:
--------------------------------------------------------------------------------
1 | const key = 'cbe3dd267a18f6c89943b3eff94f1ed7';
2 |
3 | const requestCity = async (city) => {
4 | const baseURL = 'http://api.openweathermap.org/data/2.5/weather'
5 | const query = `?q=${city}&appid=${key}`;
6 |
7 | //make fetch call (promise call)
8 | const response = await fetch(baseURL + query);
9 |
10 | //promise data
11 | const data = await response.json();
12 | return data;
13 |
14 | }
--------------------------------------------------------------------------------
/cityshiftfinal/README.md:
--------------------------------------------------------------------------------
1 | # CityShiftfinal
2 |
3 | This is a service locator Website which would help you to find services around you when you shift to a new place.
4 |
5 | ## Snapshots
6 | 
7 | 
8 |
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/frontpage/4.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/contact2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/frontpage/contact2.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/fp2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/frontpage/fp2.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
City Shift
19 | Shifting got easy
20 | All services at one place
21 |
22 |
23 |
24 |
25 |
26 | Home
27 |
28 | Restaurants
29 | Services
30 | Contact
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/nav-img-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/frontpage/nav-img-4.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/frontpage/res3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/frontpage/res3.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/deluxe1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/deluxe1.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/deluxe2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/deluxe2.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/deluxe3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/deluxe3.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/deluxe4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/deluxe4.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/1.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/2.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/3.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/4.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/5.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/6.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/1/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/1/7.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/10.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/11.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/12.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/13.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/14.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/15.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/16.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/17.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/18.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/19.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/19.jpeg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/2.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/3.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/4.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/6.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/7.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/8.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/9.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/catalogue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/catalogue.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/end.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/end.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/houses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/houses.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/logo.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/logo2.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/logo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/logo3.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/logo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/logo4.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/map.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/more.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/steps/center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/steps/center.png
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/to_do/1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/to_do/1.jpeg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/to_do/2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/to_do/2.jpeg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/to_do/3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/to_do/3.jpeg
--------------------------------------------------------------------------------
/cityshiftfinal/home/images/to_do/4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/home/images/to_do/4.jpeg
--------------------------------------------------------------------------------
/cityshiftfinal/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
City Shift
19 | Shifting got easy
20 | All services at one place
21 |
22 |
23 |
24 |
25 |
26 | Home
27 |
28 | Restaurants
29 | Services
30 | Contact
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/backgroundImages/back41.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/backgroundImages/back41.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/backgroundImages/back61.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/backgroundImages/back61.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/backgroundImages/contact1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/backgroundImages/contact1.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/amazon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/amazon1.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/apple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/apple.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/apple1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/apple1.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/bbq.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/bbq.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/coke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/coke.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/dell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/dell.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/dom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/dom.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/hp1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/hp1.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/logo.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/mcd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/mcd.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/pind.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/pind.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/logos/skype.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/logos/skype.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/phone.css:
--------------------------------------------------------------------------------
1 | .nav{
2 | flex-direction: column;
3 | align-items: center;
4 | height: 100%;
5 | }
6 | .options{
7 | margin: 15px 5px;
8 | }
9 | .options li a{
10 | font-size: 1rem;
11 | padding: 0 5px;
12 | }
13 | .gayab{
14 | display: none;
15 | }
16 | .btn{
17 | margin: 5px 2px;
18 | }
19 | #home{
20 | height: 650px;
21 | margin: 5px 2px;
22 | padding: 1px 5px;
23 | }
24 | #home::before{
25 | height: 120%;
26 | }
27 | .name{
28 | display: none;
29 | }
30 | #service{
31 | height: 1500px;
32 | margin: 40px 29px;
33 | }
34 | .bigbox{
35 | flex-direction: column;
36 | }
37 | .clientLogo{
38 | margin: 0;
39 | padding: 0 4px;
40 | }
41 |
42 | .client img{
43 | height: 50px;
44 | }
45 |
46 | .client{
47 | flex-wrap: wrap;
48 | }
49 |
50 | .contactForm{
51 | width: 350px;
52 | height: 260px;
53 | }
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/services/burger1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/services/burger1.jpg
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/services/catering1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/services/catering1.png
--------------------------------------------------------------------------------
/cityshiftfinal/restaurants/services/order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/cityshiftfinal/restaurants/services/order.png
--------------------------------------------------------------------------------
/cityshiftfinal/services/servicesstyle.css:
--------------------------------------------------------------------------------
1 | body{
2 | margin: 0;
3 | padding: 0;
4 | font-family: "montserrat",sans-serif;
5 | }
6 | .services{
7 | background: #f1f1f1;
8 | text-align: center;
9 | }
10 | .services h1{
11 | display: inline-block;
12 | text-transform: uppercase;
13 | border-bottom: 4px solid #3498db;
14 | font-size: 20px;
15 | padding-bottom: 10px;
16 | margin-top: 40px;
17 | }
18 | .cen{
19 | max-width: 1200px;
20 | margin: auto;
21 | overflow: hidden;
22 | padding: 20px;
23 | }
24 | .service{
25 | display: inline-block;
26 | width: calc(100% / 3);
27 | margin: 0 -2px;
28 | padding: 20px;
29 | box-sizing: border-box;
30 | cursor: pointer;
31 | transition: 0.4s;
32 | }
33 | .service:hover{
34 | background: #ddd;
35 | }
36 | .service i{
37 | color: #3498db;
38 | font-size: 34px;
39 | margin-bottom: 30px;
40 | }
41 | .service h2{
42 | font-size: 18px;
43 | text-transform: uppercase;
44 | font-weight: 500;
45 | margin: 0;
46 | }
47 | .service p{
48 | color: gray;
49 | font-size: 15px;
50 | font-weight: 500;
51 | }
52 | @media screen and (max-width: 800px) {
53 | .service{
54 | width: 50%;
55 | }
56 | }
57 | @media screen and (max-width: 500px) {
58 | .service{
59 | width: 100%;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/ecommerce/db.sqlite3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/db.sqlite3
--------------------------------------------------------------------------------
/ecommerce/ecommerce/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/ecommerce/__init__.py
--------------------------------------------------------------------------------
/ecommerce/ecommerce/__pycache__/__init__.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/ecommerce/__pycache__/__init__.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/ecommerce/__pycache__/settings.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/ecommerce/__pycache__/settings.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/ecommerce/__pycache__/urls.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/ecommerce/__pycache__/urls.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/ecommerce/__pycache__/wsgi.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/ecommerce/__pycache__/wsgi.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/ecommerce/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for ecommerce project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ecommerce.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/ecommerce/ecommerce/urls.py:
--------------------------------------------------------------------------------
1 | """ecommerce URL Configuration
2 |
3 | The `urlpatterns` list routes URLs to views. For more information please see:
4 | https://docs.djangoproject.com/en/4.0/topics/http/urls/
5 | Examples:
6 | Function views
7 | 1. Add an import: from my_app import views
8 | 2. Add a URL to urlpatterns: path('', views.home, name='home')
9 | Class-based views
10 | 1. Add an import: from other_app.views import Home
11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12 | Including another URLconf
13 | 1. Import the include() function: from django.urls import include, path
14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 | """
16 | from django.contrib import admin
17 | from django.urls import path, include
18 | from django.conf.urls.static import static
19 | from django.conf import settings
20 |
21 | urlpatterns = [
22 | path('admin/', admin.site.urls),
23 | path('',include('store.urls'))
24 | ]
25 |
26 | urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
--------------------------------------------------------------------------------
/ecommerce/ecommerce/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for ecommerce project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ecommerce.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/ecommerce/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | """Run administrative tasks."""
9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ecommerce.settings')
10 | try:
11 | from django.core.management import execute_from_command_line
12 | except ImportError as exc:
13 | raise ImportError(
14 | "Couldn't import Django. Are you sure it's installed and "
15 | "available on your PYTHONPATH environment variable? Did you "
16 | "forget to activate a virtual environment?"
17 | ) from exc
18 | execute_from_command_line(sys.argv)
19 |
20 |
21 | if __name__ == '__main__':
22 | main()
23 |
--------------------------------------------------------------------------------
/ecommerce/static/JS/cart.js:
--------------------------------------------------------------------------------
1 | var updateBtns = document.getElementsByClassName('update-cart')
2 |
3 | for(i=0;i {
33 | return response.json()
34 | })
35 |
36 | .then((data) => {
37 | console.log('data:',data)
38 | location.reload()
39 | })
40 | }
--------------------------------------------------------------------------------
/ecommerce/static/images/Flipup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Flipup.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Logo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Logo1.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1933.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1933.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1934.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1934.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1936.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1936.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1937.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1937.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1938.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1938.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1939.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1939.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1939_J8QZyzv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1939_J8QZyzv.png
--------------------------------------------------------------------------------
/ecommerce/static/images/Screenshot_1941.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/Screenshot_1941.png
--------------------------------------------------------------------------------
/ecommerce/static/images/arrow-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/arrow-down.png
--------------------------------------------------------------------------------
/ecommerce/static/images/arrow-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/arrow-up.png
--------------------------------------------------------------------------------
/ecommerce/static/images/candle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/candle.png
--------------------------------------------------------------------------------
/ecommerce/static/images/cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/cart.png
--------------------------------------------------------------------------------
/ecommerce/static/images/cool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/cool.png
--------------------------------------------------------------------------------
/ecommerce/static/images/cool5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/cool5.png
--------------------------------------------------------------------------------
/ecommerce/static/images/diary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/diary.png
--------------------------------------------------------------------------------
/ecommerce/static/images/img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/img.png
--------------------------------------------------------------------------------
/ecommerce/static/images/logo (2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/logo (2).png
--------------------------------------------------------------------------------
/ecommerce/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/logo.png
--------------------------------------------------------------------------------
/ecommerce/static/images/paper-bag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/paper-bag.png
--------------------------------------------------------------------------------
/ecommerce/static/images/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/static/images/placeholder.png
--------------------------------------------------------------------------------
/ecommerce/store/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__init__.py
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/__init__.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/__init__.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/admin.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/admin.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/apps.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/apps.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/forms.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/forms.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/models.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/models.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/urls.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/urls.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/__pycache__/views.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/__pycache__/views.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
5 | from .models import *
6 |
7 | admin.site.register(Customer)
8 | admin.site.register(Product)
9 | admin.site.register(Order)
10 | admin.site.register(OrderItem)
11 | admin.site.register(ShippingAddress)
--------------------------------------------------------------------------------
/ecommerce/store/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class StoreConfig(AppConfig):
5 | default_auto_field = 'django.db.models.BigAutoField'
6 | name = 'store'
7 |
--------------------------------------------------------------------------------
/ecommerce/store/forms.py:
--------------------------------------------------------------------------------
1 | from django.contrib.auth.forms import UserCreationForm
2 | from django import forms
3 | from django.contrib.auth.models import User
4 |
5 | class CreateUserForm(UserCreationForm):
6 | class Meta:
7 | model = User
8 | fields = ['username','email','password1','password2']
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0002_product_image.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-05 06:05
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0001_initial'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='product',
15 | name='image',
16 | field=models.ImageField(blank=True, null=True, upload_to=''),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0003_product_productid.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-05 11:27
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0002_product_image'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='product',
15 | name='productId',
16 | field=models.IntegerField(default=''),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0004_alter_product_productid.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-05 11:28
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0003_product_productid'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='product',
15 | name='productId',
16 | field=models.IntegerField(default=0),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0005_remove_product_productid.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-05 11:32
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0004_alter_product_productid'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='product',
15 | name='productId',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0006_product_description.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-06 08:35
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0005_remove_product_productid'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='product',
15 | name='description',
16 | field=models.CharField(default='', max_length=200),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0007_remove_product_description.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-06 08:41
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0006_product_description'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='product',
15 | name='description',
16 | ),
17 | ]
18 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0008_product_description.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-06 08:43
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0007_remove_product_description'),
10 | ]
11 |
12 | operations = [
13 | migrations.AddField(
14 | model_name='product',
15 | name='description',
16 | field=models.CharField(default='', max_length=200),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0009_remove_customer_email_remove_customer_name.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-08 14:19
2 |
3 | from django.db import migrations
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0008_product_description'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='customer',
15 | name='email',
16 | ),
17 | migrations.RemoveField(
18 | model_name='customer',
19 | name='name',
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0010_alter_order_customer.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-08 14:44
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('store', '0009_remove_customer_email_remove_customer_name'),
13 | ]
14 |
15 | operations = [
16 | migrations.AlterField(
17 | model_name='order',
18 | name='customer',
19 | field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
20 | ),
21 | ]
22 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0011_alter_order_transaction_id.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-09 14:17
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0010_alter_order_customer'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='order',
15 | name='transaction_id',
16 | field=models.FloatField(null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/0012_alter_order_transaction_id.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 4.0.1 on 2022-04-09 14:20
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('store', '0011_alter_order_transaction_id'),
10 | ]
11 |
12 | operations = [
13 | migrations.AlterField(
14 | model_name='order',
15 | name='transaction_id',
16 | field=models.CharField(max_length=100, null=True),
17 | ),
18 | ]
19 |
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__init__.py
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0001_initial.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0001_initial.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0002_product_image.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0002_product_image.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0003_product_productid.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0003_product_productid.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0004_alter_product_productid.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0004_alter_product_productid.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0005_remove_product_productid.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0005_remove_product_productid.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0006_product_description.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0006_product_description.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0007_remove_product_description.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0007_remove_product_description.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0008_product_description.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0008_product_description.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0009_remove_customer_email_remove_customer_name.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0009_remove_customer_email_remove_customer_name.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0010_alter_order_customer.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0010_alter_order_customer.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0011_alter_order_transaction_id.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0011_alter_order_transaction_id.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/0012_alter_order_transaction_id.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/0012_alter_order_transaction_id.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/migrations/__pycache__/__init__.cpython-310.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/ecommerce/store/migrations/__pycache__/__init__.cpython-310.pyc
--------------------------------------------------------------------------------
/ecommerce/store/templates/store/signin.html:
--------------------------------------------------------------------------------
1 |
2 | {% load static %}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Sign-in
11 |
12 |
13 |
14 |
15 | Sign-in
16 |
17 |
18 |
19 |
20 |
33 |
34 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/ecommerce/store/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/ecommerce/store/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns=[
5 | path('',views.main,name='main'),
6 | path('cart//',views.cart,name='cart'),
7 | path('checkout//',views.checkout,name='checkout'),
8 | path('mainstore//',views.mainstore,name='mainstore'),
9 | path('signup/',views.signup,name='signup'),
10 | path('signin/',views.signin,name='signin'),
11 | path('logout/',views.logoutUser,name='logout'),
12 | path('mainstore//update_item/',views.updateItem,name='update_item'),
13 | path('cart//update_item/',views.updateItem,name='update_item'),
14 | path('checkout//process_order/',views.processOrder,name='process_order'),
15 |
16 | ]
--------------------------------------------------------------------------------
/go-web-server/README.md:
--------------------------------------------------------------------------------
1 | # Basic Web Server in Go
2 |
3 | ## Prerequisites
4 |
5 | - Go 1.19+ installed
6 | - Web Browser/Postman/cURL to play with the server
7 |
8 | ## QuickStart
9 |
10 | `cd` to [`go-web-server`](.) directory & run
11 |
12 | ```shell
13 | go run main.go
14 | ```
15 |
16 | to start http server on [`localhost:8080`](http://localhost:8080)
17 |
18 | ## Endpoints
19 |
20 | - `GET /` - displays [`index.html`](static/index.html) inside [`static`](static/) directory
21 | - `GET /hello` - displays a greeting
22 | - `GET /form.html` - displays [`form.html`](static/form.html) inside [`static`](static/) directory
23 | - `POST /form` - displays post request successful with form values
24 |
25 | ## Contributors
26 |
27 | - [Jayesh Mann](https://github.com/jayeshmann) [Author]
28 |
--------------------------------------------------------------------------------
/go-web-server/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/Anadee11/WebArena/go-web-server
2 |
3 | go 1.19
4 |
--------------------------------------------------------------------------------
/go-web-server/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 | "log"
6 | "net/http"
7 | )
8 |
9 | func formHandler(w http.ResponseWriter, r *http.Request) {
10 |
11 | if err := r.ParseForm(); err != nil {
12 | fmt.Fprintf(w, "ParseForm() err: %v", err)
13 | return
14 | }
15 |
16 | if r.URL.Path != "/form" {
17 | http.Error(w, "404 not found", http.StatusNotFound)
18 | return
19 | }
20 |
21 | fmt.Fprintf(w, "POST request successful\n")
22 | name := r.FormValue("name")
23 | address := r.FormValue("address")
24 | fmt.Fprintf(w, "Name = %s\n", name)
25 | fmt.Fprintf(w, "Address = %s\n", address)
26 | }
27 |
28 | func helloHandler(w http.ResponseWriter, r *http.Request) {
29 | if r.URL.Path != "/hello" {
30 | http.Error(w, "404 not found", http.StatusNotFound)
31 | return
32 | }
33 |
34 | if r.Method != "GET" {
35 | http.Error(w, "method is not supported", http.StatusMethodNotAllowed)
36 | return
37 | }
38 | fmt.Fprintf(w, "Hello from /hello endpoint!")
39 | }
40 |
41 | func main() {
42 | fileServer := http.FileServer(http.Dir("./static"))
43 | http.Handle("/", fileServer)
44 | http.HandleFunc("/hello", helloHandler)
45 | http.HandleFunc("/form", formHandler)
46 |
47 | fmt.Printf("Starting server at port 8080\n")
48 | if err := http.ListenAndServe(":8080", nil); err != nil {
49 | log.Fatal(err)
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/go-web-server/static/form.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Document
8 |
9 |
10 |
11 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/go-web-server/static/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | First Page
8 |
9 |
10 | Hello from Go Server
11 |
12 |
13 |
--------------------------------------------------------------------------------
/music_streaming_website/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 rajaprerak
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/music_streaming_website/authentication/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/authentication/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/authentication/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/music_streaming_website/authentication/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class AuthenticationConfig(AppConfig):
5 | name = 'authentication'
6 |
--------------------------------------------------------------------------------
/music_streaming_website/authentication/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/authentication/migrations/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/authentication/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/music_streaming_website/authentication/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/music_streaming_website/authentication/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | # Add URLConf
5 | urlpatterns = [
6 | path('login/', views.login_request, name='login'),
7 | path('signup/', views.signup_request, name='signup'),
8 | path('logout/', views.logout_request, name='logout'),
9 | ]
10 |
--------------------------------------------------------------------------------
/music_streaming_website/db.sqlite3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/db.sqlite3
--------------------------------------------------------------------------------
/music_streaming_website/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'musicplayer.settings')
9 | try:
10 | from django.core.management import execute_from_command_line
11 | except ImportError as exc:
12 | raise ImportError(
13 | "Couldn't import Django. Are you sure it's installed and "
14 | "available on your PYTHONPATH environment variable? Did you "
15 | "forget to activate a virtual environment?"
16 | ) from exc
17 | execute_from_command_line(sys.argv)
18 |
19 |
20 | if __name__ == '__main__':
21 | main()
22 |
--------------------------------------------------------------------------------
/music_streaming_website/media/01_-_Baarish_-_Half_Girlfriend_DJMaza.Life.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/01_-_Baarish_-_Half_Girlfriend_DJMaza.Life.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/01_-_Gulaabo-MyMp3Singer.net.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/01_-_Gulaabo-MyMp3Singer.net.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/01_-_Soch_Na_Sake_Duet-MyMp3Singer.com.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/01_-_Soch_Na_Sake_Duet-MyMp3Singer.com.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Aaj_Se_Teri_Padman_128_Kbps.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Aaj_Se_Teri_Padman_128_Kbps.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Asal_Mein_-_Darshan_Raval_128_Kbps.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Asal_Mein_-_Darshan_Raval_128_Kbps.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Attention_-_Charlie_Puth.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Attention_-_Charlie_Puth.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Baarish.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Baarish.jpeg
--------------------------------------------------------------------------------
/music_streaming_website/media/Bekhayali_-_Kabir_Singh_128_Kbps.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Bekhayali_-_Kabir_Singh_128_Kbps.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Coldplay_-_A_Sky_Full_Of_Stars.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Coldplay_-_A_Sky_Full_Of_Stars.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/DJ_Snake_-_Let_Me_Love_You_ft._Justin_Bieber_Official_Video.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/DJ_Snake_-_Let_Me_Love_You_ft._Justin_Bieber_Official_Video.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Gryffin_-_Tie_Me_Down_ft._Elley_Duhé.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Gryffin_-_Tie_Me_Down_ft._Elley_Duhé.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Guru_Randhawa_-_Ban_Ja_Tu_Meri_Rani.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Guru_Randhawa_-_Ban_Ja_Tu_Meri_Rani.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Haaye_Oye_-_amlijatt.in.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Haaye_Oye_-_amlijatt.in.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Lauv_-_I_Like_Me_Better.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Lauv_-_I_Like_Me_Better.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Maroon_5_-_Girls_Like_You_ft._Cardi_B.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Maroon_5_-_Girls_Like_You_ft._Cardi_B.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Mike_Perry_-_The_Ocean_ft._Shy_Martin_CC.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Mike_Perry_-_The_Ocean_ft._Shy_Martin_CC.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Songs.PK_08_-_Kabira_-_Yeh_Jawaani_Hai_Deewani.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Songs.PK_08_-_Kabira_-_Yeh_Jawaani_Hai_Deewani.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Sun_Saathiya.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Sun_Saathiya.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/Tujhe_Kitna_Chahne_Lage_-_Kabir_Singh_128_Kbps.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/Tujhe_Kitna_Chahne_Lage_-_Kabir_Singh_128_Kbps.mp3
--------------------------------------------------------------------------------
/music_streaming_website/media/aajseteri.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/aajseteri.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/asalmein.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/asalmein.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/attention.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/attention.png
--------------------------------------------------------------------------------
/music_streaming_website/media/banjarani.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/banjarani.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/bekhayali.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/bekhayali.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/favicon.png
--------------------------------------------------------------------------------
/music_streaming_website/media/girlslikeyou.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/girlslikeyou.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/gulaabo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/gulaabo.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/haayeoye.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/haayeoye.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/ilikemebetter.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/ilikemebetter.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/kabira.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/kabira.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/letmeloveyou.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/letmeloveyou.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/ocean.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/ocean.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/skyfullofstars.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/skyfullofstars.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/sochnasake.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/sochnasake.jpeg
--------------------------------------------------------------------------------
/music_streaming_website/media/sunsaathiya.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/sunsaathiya.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/tiemedown.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/tiemedown.jpg
--------------------------------------------------------------------------------
/music_streaming_website/media/tujhekitnachahnelagehum.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/media/tujhekitnachahnelagehum.jpg
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/musicapp/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 | from .models import *
3 |
4 | # Register your models here.
5 |
6 | admin.site.register(Song)
7 | admin.site.register(Playlist)
8 | admin.site.register(Favourite)
9 | admin.site.register(Recent)
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class MusicappConfig(AppConfig):
5 | name = 'musicapp'
6 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/forms.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/0001_initial.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.6 on 2020-07-08 07:01
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | initial = True
9 |
10 | dependencies = [
11 | ]
12 |
13 | operations = [
14 | migrations.CreateModel(
15 | name='Song',
16 | fields=[
17 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18 | ('name', models.CharField(max_length=200)),
19 | ('album', models.CharField(max_length=200)),
20 | ('genre', models.CharField(max_length=100)),
21 | ('song_img', models.FileField(upload_to='')),
22 | ('year', models.IntegerField()),
23 | ('singer', models.CharField(max_length=200)),
24 | ('song_file', models.FileField(upload_to='')),
25 | ],
26 | ),
27 | ]
28 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/0002_playlist.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.6 on 2020-07-09 14:44
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('musicapp', '0001_initial'),
13 | ]
14 |
15 | operations = [
16 | migrations.CreateModel(
17 | name='Playlist',
18 | fields=[
19 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20 | ('playlist_name', models.CharField(max_length=200)),
21 | ('song', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='musicapp.Song')),
22 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
23 | ],
24 | ),
25 | ]
26 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/0003_favourite.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.6 on 2020-07-11 04:36
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('musicapp', '0002_playlist'),
13 | ]
14 |
15 | operations = [
16 | migrations.CreateModel(
17 | name='Favourite',
18 | fields=[
19 | ('id', models.AutoField(primary_key=True, serialize=False)),
20 | ('is_fav', models.BooleanField(default=False)),
21 | ('song', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='musicapp.Song')),
22 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
23 | ],
24 | ),
25 | ]
26 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/0004_recent.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.6 on 2020-07-11 05:10
2 |
3 | from django.conf import settings
4 | from django.db import migrations, models
5 | import django.db.models.deletion
6 |
7 |
8 | class Migration(migrations.Migration):
9 |
10 | dependencies = [
11 | migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12 | ('musicapp', '0003_favourite'),
13 | ]
14 |
15 | operations = [
16 | migrations.CreateModel(
17 | name='Recent',
18 | fields=[
19 | ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20 | ('song', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='musicapp.Song')),
21 | ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
22 | ],
23 | ),
24 | ]
25 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/0005_auto_20200712_1306.py:
--------------------------------------------------------------------------------
1 | # Generated by Django 3.0.6 on 2020-07-12 07:36
2 |
3 | from django.db import migrations, models
4 |
5 |
6 | class Migration(migrations.Migration):
7 |
8 | dependencies = [
9 | ('musicapp', '0004_recent'),
10 | ]
11 |
12 | operations = [
13 | migrations.RemoveField(
14 | model_name='song',
15 | name='genre',
16 | ),
17 | migrations.AddField(
18 | model_name='song',
19 | name='language',
20 | field=models.CharField(choices=[('Hindi', 'Hindi'), ('English', 'English')], default='Hindi', max_length=20),
21 | ),
22 | ]
23 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/migrations/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/musicapp/migrations/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 | from django.contrib.auth.models import User
3 |
4 |
5 | # Create your models here.
6 | class Song(models.Model):
7 |
8 | Language_Choice = (
9 | ('Hindi', 'Hindi'),
10 | ('English', 'English'),
11 | )
12 |
13 | name = models.CharField(max_length=200)
14 | album = models.CharField(max_length=200)
15 | language = models.CharField(max_length=20,choices=Language_Choice,default='Hindi')
16 | song_img = models.FileField()
17 | year = models.IntegerField()
18 | singer = models.CharField(max_length=200)
19 | song_file = models.FileField()
20 |
21 | def __str__(self):
22 | return self.name
23 |
24 |
25 | class Playlist(models.Model):
26 | user = models.ForeignKey(User, on_delete=models.CASCADE)
27 | playlist_name = models.CharField(max_length=200)
28 | song = models.ForeignKey(Song, on_delete=models.CASCADE)
29 |
30 |
31 | class Favourite(models.Model):
32 | id = models.AutoField(primary_key=True)
33 | user = models.ForeignKey(User, on_delete=models.CASCADE)
34 | song = models.ForeignKey(Song, on_delete=models.CASCADE)
35 | is_fav = models.BooleanField(default=False)
36 |
37 |
38 | class Recent(models.Model):
39 | user = models.ForeignKey(User, on_delete=models.CASCADE)
40 | song = models.ForeignKey(Song, on_delete=models.CASCADE)
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/music_streaming_website/musicapp/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | # Add URLConf
5 | urlpatterns = [
6 | path('', views.index, name='index'),
7 | path('/', views.detail, name='detail'),
8 | path('mymusic/', views.mymusic, name='mymusic'),
9 | path('playlist/', views.playlist, name='playlist'),
10 | path('playlist//', views.playlist_songs, name='playlist_songs'),
11 | path('favourite/', views.favourite, name='favourite'),
12 | path('all_songs/', views.all_songs, name='all_songs'),
13 | path('recent/', views.recent, name='recent'),
14 | path('hindi_songs/', views.hindi_songs, name='hindi_songs'),
15 | path('english_songs/', views.english_songs, name='english_songs'),
16 | path('play//', views.play_song, name='play_song'),
17 | path('play_song//', views.play_song_index, name='play_song_index'),
18 | path('play_recent_song//', views.play_recent_song, name='play_recent_song'),
19 |
20 |
21 |
22 | ]
23 |
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/musicplayer/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for musicplayer project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'musicplayer.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/settings1/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/musicplayer/settings1/__init__.py
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/settings1/developement.py:
--------------------------------------------------------------------------------
1 | from .base import *
2 |
3 | DEBUG = True
4 | ALLOWED_HOSTS = []
5 |
6 | INSTALLED_APPS += [
7 | 'debug_toolbar'
8 | ]
9 |
10 | MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware', ]
11 |
12 | # DEBUG TOOLBAR SETTINGS
13 |
14 | DEBUG_TOOLBAR_PANELS = [
15 | 'debug_toolbar.panels.versions.VersionsPanel',
16 | 'debug_toolbar.panels.timer.TimerPanel',
17 | 'debug_toolbar.panels.settings.SettingsPanel',
18 | 'debug_toolbar.panels.headers.HeadersPanel',
19 | 'debug_toolbar.panels.request.RequestPanel',
20 | 'debug_toolbar.panels.sql.SQLPanel',
21 | 'debug_toolbar.panels.staticfiles.StaticFilesPanel',
22 | 'debug_toolbar.panels.templates.TemplatesPanel',
23 | 'debug_toolbar.panels.cache.CachePanel',
24 | 'debug_toolbar.panels.signals.SignalsPanel',
25 | 'debug_toolbar.panels.logging.LoggingPanel',
26 | 'debug_toolbar.panels.redirects.RedirectsPanel',
27 | ]
28 |
29 | def show_toolbar(request):
30 | return True
31 |
32 | DEBUG_TOOLBAR_CONFIG = {
33 | 'INTERCEPT_REDIRECTS': False,
34 | 'SHOW_TOOLBAR_CALLBACK': show_toolbar
35 | }
36 |
37 | DATABASES = {
38 | 'default': {
39 | 'ENGINE': 'django.db.backends.postgresql_psycopg2',
40 | 'NAME': config('DB_NAME'),
41 | 'USER': config('DB_USER'),
42 | 'PASSWORD': config('DB_PASSWORD'),
43 | 'HOST': config('DB_HOST'),
44 | 'PORT': '5432'
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/settings1/production.py:
--------------------------------------------------------------------------------
1 | from .base import *
2 |
3 | DEBUG = config('DEBUG', cast=bool)
4 | ALLOWED_HOSTS = ['ip-address', 'www.your-website.com']
5 |
6 | AUTH_PASSWORD_VALIDATORS = [
7 | {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'},
8 | {'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator'},
9 | {'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator'},
10 | {'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'}
11 | ]
12 |
13 | DATABASES = {
14 | 'default': {
15 | 'ENGINE': 'django.db.backends.postgresql_psycopg2',
16 | 'NAME': config('DB_NAME'),
17 | 'USER': config('DB_USER'),
18 | 'PASSWORD': config('DB_PASSWORD'),
19 | 'HOST': config('DB_HOST'),
20 | 'PORT': ''
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/urls.py:
--------------------------------------------------------------------------------
1 | """musicplayer URL Configuration
2 |
3 | The `urlpatterns` list routes URLs to views. For more information please see:
4 | https://docs.djangoproject.com/en/3.0/topics/http/urls/
5 | Examples:
6 | Function views
7 | 1. Add an import: from my_app import views
8 | 2. Add a URL to urlpatterns: path('', views.home, name='home')
9 | Class-based views
10 | 1. Add an import: from other_app.views import Home
11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12 | Including another URLconf
13 | 1. Import the include() function: from django.urls import include, path
14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 | """
16 | from django.contrib import admin
17 | from django.urls import path, include
18 | from django.conf import settings
19 | from django.conf.urls.static import static
20 |
21 | urlpatterns = [
22 | path('admin/', admin.site.urls),
23 | path('accounts/', include('allauth.urls')), # for all-auth
24 | path('', include('musicapp.urls')),
25 | path('authentication/', include('authentication.urls')),
26 | ]
27 |
28 | if settings.DEBUG:
29 | urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
30 | urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
--------------------------------------------------------------------------------
/music_streaming_website/musicplayer/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for musicplayer project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'musicplayer.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/music_streaming_website/requirements.txt:
--------------------------------------------------------------------------------
1 | argon2-cffi==20.1.0
2 | asgiref==3.2.10
3 | certifi==2020.6.20
4 | cffi==1.14.0
5 | chardet==3.0.4
6 | defusedxml==0.6.0
7 | Django==3.0.8
8 | django-allauth==0.42.0
9 | django-crispy-forms==1.9.1
10 | django-debug-toolbar==2.2
11 | django-environ==0.4.5
12 | django-model-utils==4.0.0
13 | django-redis==4.12.1
14 | djangorestframework==3.11.0
15 | idna==2.10
16 | oauthlib==3.1.0
17 | pycparser==2.20
18 | python-decouple==3.3
19 | python-slugify==4.0.1
20 | python3-openid==3.2.0
21 | pytz==2020.1
22 | requests==2.24.0
23 | requests-oauthlib==1.3.0
24 | six==1.15.0
25 | sqlparse==0.3.1
26 | text-unidecode==1.3
27 | urllib3==1.25.9
28 |
--------------------------------------------------------------------------------
/music_streaming_website/static/musicapp/fonts/proximanova-light-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/static/musicapp/fonts/proximanova-light-webfont.woff
--------------------------------------------------------------------------------
/music_streaming_website/static/musicapp/fonts/proximanova-regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/static/musicapp/fonts/proximanova-regular-webfont.woff
--------------------------------------------------------------------------------
/music_streaming_website/static/musicapp/fonts/proximanova-semibold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/static/musicapp/fonts/proximanova-semibold-webfont.woff
--------------------------------------------------------------------------------
/music_streaming_website/static/musicapp/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/static/musicapp/images/bg.jpg
--------------------------------------------------------------------------------
/music_streaming_website/templates/authentication/signup.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load crispy_forms_tags %}
3 | {% load socialaccount %}
4 | {% block title %} MusicApp | {{ title }} {% endblock title %}
5 | {% block header %}
6 |
21 | {% endblock header %}
22 | {% block body %}
23 |
24 |
25 | Sign Up
26 |
27 |
28 |
29 | Sign up with Google
30 |
31 | or
32 |
37 |
38 | Already have an account? Please log in .
39 |
40 |
41 | {% endblock body %}
--------------------------------------------------------------------------------
/music_streaming_website/templates/musicapp/english_songs.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load socialaccount %}
3 | {% block title %} English Songs {% endblock title %}
4 |
5 | {% block body %}
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 | {% if english_songs %}
17 | {% for song in english_songs %}
18 |
19 |
20 |
22 |
26 |
27 |
28 | {% endfor %}
29 | {% endif %}
30 |
31 |
32 |
33 |
34 | {% endblock body %}
--------------------------------------------------------------------------------
/music_streaming_website/templates/musicapp/mymusic.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load socialaccount %}
3 | {% block title %} MusicApp - Home {% endblock title %}
4 |
5 |
6 | My Music
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {% block body %}
15 |
16 |
17 |
18 |
19 |
27 |
35 |
36 |
37 | {% endblock body %}
--------------------------------------------------------------------------------
/music_streaming_website/templates/musicapp/playlist.html:
--------------------------------------------------------------------------------
1 | {% extends 'base.html' %}
2 | {% load socialaccount %}
3 | {% block title %} Playlist {% endblock title %}
4 | {% block body %}
5 | {% load static %}
6 |
7 |
8 |
9 |
12 |
13 |
14 |
15 | {% if playlists %}
16 | {% for playlist in playlists %}
17 |
18 |
19 |
20 |
21 |
22 |
23 | {{playlist.playlist_name}}
24 |
25 |
26 |
27 | {% endfor %}
28 | {% else %}
29 |
There isn't any playlist! First create new playlist.
30 | {% endif %}
31 |
32 |
33 |
34 |
35 | {% endblock body %}
--------------------------------------------------------------------------------
/music_streaming_website/website_images/Detail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/website_images/Detail.png
--------------------------------------------------------------------------------
/music_streaming_website/website_images/Home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Anadee11/WebArena/6480791b9a5bfd887dc855c414c3ced05492e6f8/music_streaming_website/website_images/Home.png
--------------------------------------------------------------------------------
/to-do/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/to-do/README.md:
--------------------------------------------------------------------------------
1 | # To-Do App
2 | This is a basic To-Do App developed using React and Material UI.
3 |
4 | This was my first project in React and I enjoyed working on it.
5 |
6 |
7 | ## Features
8 |
9 | - Users can create their personal to-do list.
10 | - Users can add and remove tasks from the list.
11 | - Users can edit the exisiting tasks in the list.
12 | - Users can check the items in the list on completion.
13 |
14 | ## Getting Started
15 |
16 | 1. Clone the repository
17 |
18 | ```bash
19 | git clone https://github.com/Anadee11/WebArena.git
20 |
21 | ```
22 |
23 | 2. Change the working directory
24 |
25 | ```bash
26 | cd To_Do
27 |
28 | cd to-do
29 |
30 | ```
31 |
32 | 3. Install dependencies
33 |
34 | ```bash
35 | npm install
36 |
37 | npm install @material-ui/core
38 |
39 | npm install @material-ui/icons
40 | ```
41 |
42 | 4. Run the app
43 |
44 | ```bash
45 | npm start
46 | ```
47 |
48 | 5. Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
49 |
50 | ## Screenshots
51 |
52 |
53 |
54 |
55 | # [](https://forthebadge.com) [](https://forthebadge.com)
56 |
--------------------------------------------------------------------------------
/to-do/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "to-do",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@material-ui/core": "^4.12.4",
7 | "@material-ui/icons": "^4.11.3",
8 | "@testing-library/jest-dom": "^5.16.5",
9 | "@testing-library/react": "^13.4.0",
10 | "@testing-library/user-event": "^13.5.0",
11 | "react": "^18.2.0",
12 | "react-dom": "^18.2.0",
13 | "react-scripts": "5.0.1",
14 | "web-vitals": "^2.1.4"
15 | },
16 | "scripts": {
17 | "start": "react-scripts start",
18 | "build": "react-scripts build",
19 | "test": "react-scripts test",
20 | "eject": "react-scripts eject"
21 | },
22 | "eslintConfig": {
23 | "extends": [
24 | "react-app",
25 | "react-app/jest"
26 | ]
27 | },
28 | "browserslist": {
29 | "production": [
30 | ">0.2%",
31 | "not dead",
32 | "not op_mini all"
33 | ],
34 | "development": [
35 | "last 1 chrome version",
36 | "last 1 firefox version",
37 | "last 1 safari version"
38 | ]
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/to-do/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
15 |
16 | React App
17 |
18 |
19 |
20 |
21 |
22 | You need to enable JavaScript to run this app.
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/to-do/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 |
4 | import App from './App';
5 |
6 |
7 | const root = ReactDOM.createRoot(document.getElementById('root'));
8 | root.render(
9 |
10 |
11 |
12 | );
--------------------------------------------------------------------------------
/wordtyping-game/Readme.md:
--------------------------------------------------------------------------------
1 | # Wordtyping-game
2 |
3 | Word typing game made using HTML & CSS
4 |
5 | Type each word in the given amount of seconds to score. To play again, just type the current word. Your score will reset
6 | http://meetssh.ml/wordtyping-game
7 |
8 |
9 | 
10 |
11 | ## Use
12 |
13 | Run index.html in a browser
14 |
15 | Try it - [WordBeater Game]()
--------------------------------------------------------------------------------