Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

CaseStudyTicketing.jsx 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. import ActionCard from '../components/shared/ActionCard';
  2. import PageLayout from '../layout/PageLayout';
  3. import Wrapper from '../layout/Wrapper';
  4. import net from './../assets/icons/caseStudy/net.svg';
  5. import angular from './../assets/icons/caseStudy/angular.svg';
  6. import java from './../assets/icons/caseStudy/java.svg';
  7. import mssql from './../assets/icons/caseStudy/MSSQL.svg';
  8. import raspberry from './../assets/icons/caseStudy/raspberrypi.svg';
  9. import ionic from './../assets/icons/caseStudy/ionic.svg';
  10. import { useEffect } from 'react';
  11. import { motion } from 'framer-motion';
  12. import TechNuggets from '../components/shared/TechNuggets';
  13. import useAnalytics from '../hooks/useAnalytics';
  14. const numbers = [
  15. {
  16. value: 10,
  17. static: '+',
  18. title: 'Projects',
  19. },
  20. {
  21. value: 10,
  22. static: '+',
  23. title: 'Years Project Duration',
  24. },
  25. {
  26. value: '1,5m',
  27. static: '+',
  28. title: 'Transactions per Year',
  29. },
  30. ];
  31. const _data = {
  32. heading: {
  33. subheading: 'Case Study',
  34. heading: 'Ticketing System for passengers',
  35. imgUrl:
  36. 'https://lh6.googleusercontent.com/iYNVVAYNEmKe9mY9IFK39EUWT2GZLjnZjF0QoghP8HV1_q8arGWEryvCcPhOWRzRTwU=w2400',
  37. paragraph: 'Ticketing system for passenger transportation company Niš Ekspres',
  38. },
  39. about: {
  40. heading: 'About the Client',
  41. paragraph:
  42. 'Niš Ekspres is one of the largest passenger transportation companies in Western Balkan. The company was founded in 1951 and has been providing quality service to its customers ever since. The main activity of the company is the transportation of passengers on the city, intercity, and international routes. Niš Ekspres is known for its reliability and safety and has built a strong reputation over the years.',
  43. country_heading: 'Country',
  44. country_name: 'Serbia',
  45. industry_heading: 'Industry',
  46. industry_name: 'Transportation',
  47. },
  48. domain: {
  49. heading: 'Domain',
  50. paragraph:
  51. 'Our goal was to prove the current system and quality of their services with more advanced technology. Some of our client’s needs were: the expansion of ticket sales methods, the addition of a monitoring system, an improved reporting system, introduction of specific hardware to improve services.',
  52. },
  53. challanges: {
  54. heading: 'Challanges',
  55. paragraph:
  56. 'There are many different types of applications based on a platform where they will be executed. There is a lot of specific hardware system (ex. Cameras, Barcode scanner, etc.) that needed to be connected with some parts of our system. Data between components must be shared in real-time.',
  57. },
  58. solution: {
  59. heading: 'Solution',
  60. paragraph:
  61. 'We have expanded our knowledge even more with new technologies and embedded devices. Also, we proved to ourselves that we can maintain complex systems on both hardware and software levels.',
  62. imgUrl:
  63. 'https://lh6.googleusercontent.com/gE3bZuCNhNXTUdFUf16c_gzzMnL8P2tG1koMKHCdJQKfiiKyjXpbv3bfW5pqOUkncAE=w2400',
  64. },
  65. results: {
  66. heading: 'Results',
  67. list: [
  68. {
  69. id: 1,
  70. text: 'Uploading documents for every case and for every hearing',
  71. },
  72. {
  73. id: 2,
  74. text: 'Increased number of tickets sold online',
  75. },
  76. {
  77. id: 3,
  78. text: 'Improved ticket control',
  79. },
  80. {
  81. id: 4,
  82. text: 'Improved reporting system',
  83. },
  84. {
  85. id: 5,
  86. text: 'Added new services to customers',
  87. },
  88. ],
  89. },
  90. technologies: [
  91. {
  92. id: 1,
  93. link: net,
  94. },
  95. {
  96. id: 2,
  97. link: angular,
  98. },
  99. {
  100. id: 3,
  101. link: java,
  102. },
  103. {
  104. id: 4,
  105. link: mssql,
  106. },
  107. {
  108. id: 5,
  109. link: ionic,
  110. },
  111. {
  112. id: 6,
  113. link: raspberry,
  114. },
  115. ],
  116. };
  117. export default function CaseStudyTicketing() {
  118. useEffect(() => {
  119. document.title = 'Case Study: Ticketing System For Passengers';
  120. }, []);
  121. useAnalytics('Case Study: Ticketing System For Passengers');
  122. return (
  123. <PageLayout>
  124. <div className="bg-baby-blue dark:bg-dg-primary-1700 w-full pt-20 md:pt-24">
  125. {/* Heading Section */}
  126. <section
  127. id="heading"
  128. className="flex flex-col items-center justify-center m-auto py-16 md:py-32 bg-[url('https://lh6.googleusercontent.com/iYNVVAYNEmKe9mY9IFK39EUWT2GZLjnZjF0QoghP8HV1_q8arGWEryvCcPhOWRzRTwU=w2400')] bg-cover"
  129. >
  130. <div className="my-8 flex flex-col md:flex-row justify-start items-center w-full max-w-custom px-8 xl:px-0">
  131. <div className="w-full">
  132. <h6 className="subheading">{_data.heading.subheading}</h6>
  133. <h1 className="heading text-dg-secondary mt-2">{_data.heading.heading}</h1>
  134. <p className="paragraph mt-4">{_data.heading.paragraph}</p>
  135. </div>
  136. </div>
  137. </section>
  138. <Wrapper padding={' py-90p'}>
  139. <motion.section
  140. id="status-numbers"
  141. className="flex flex-col md:flex-row items-center justify-between w-full gap-90p px-90p"
  142. initial={{ y: 60, opacity: 0 }}
  143. whileInView={{ y: 0, opacity: 1 }}
  144. transition={{ duration: 0.5, ease: 'easeOut' }}
  145. >
  146. {numbers.map((item, i) => (
  147. <div key={i} className="flex flex-col">
  148. <h2 className="display-number text-center">
  149. {item.value}
  150. {item.static}
  151. </h2>
  152. <h3 className="number-title text-center">{item.title}</h3>
  153. </div>
  154. ))}
  155. </motion.section>
  156. </Wrapper>
  157. {/* About the Client Section */}
  158. <section id="client" className="flex flex-col items-start justify-center">
  159. <div className="my-8 flex flex-col md:flex-row justify-center items-start w-full max-w-custom m-auto px-8 xl:px-0">
  160. <div className="w-full md:w-1/2">
  161. <h3 className="h3-heading text-teal-600">{_data.about.heading}</h3>
  162. <p className="paragraph mt-4">{_data.about.paragraph}</p>
  163. </div>
  164. <div className="w-full md:w-1/2 grid grid-cols-2 md:grid-cols-3 gap-16 mt-8 md:mt-0">
  165. <div className="hidden md:inline-block"></div>
  166. <div className="float-left md:float-right text-left md:text-right">
  167. <h4 className="text-teal-600 font-semibold">
  168. {_data.about.country_heading}
  169. </h4>
  170. <p className="mt-4">{_data.about.country_name}</p>
  171. </div>
  172. <div className="float-left md:float-right text-left md:text-right">
  173. <h4 className="text-teal-600 font-semibold">
  174. {_data.about.industry_heading}
  175. </h4>
  176. <p className="mt-4">{_data.about.industry_name}</p>
  177. </div>
  178. </div>
  179. </div>
  180. </section>
  181. {/* Domain Section */}
  182. <section id="domain" className="flex flex-col items-center justify-center mt-16">
  183. <div className="my-8 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0">
  184. <div className="w-full">
  185. <h3 className="h3-heading">{_data.domain.heading}</h3>
  186. <p className="paragraph mt-4">{_data.domain.paragraph}</p>
  187. </div>
  188. </div>
  189. </section>
  190. {/* Challanges, Solution Section */}
  191. <section
  192. id="challanges_solution"
  193. className="flex flex-col items-center justify-center mt-16"
  194. >
  195. <div className="my-8 flex flex-col md:flex-row justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0">
  196. <div className="w-full md:w-1/2 md:pr-16">
  197. <div>
  198. <h3 className="h3-heading">{_data.challanges.heading}</h3>
  199. <p className="text-sm text-dark-gray dark:text-white mt-4">
  200. {_data.challanges.paragraph}
  201. </p>
  202. </div>
  203. <div className="mt-8">
  204. <h3 className="h3-heading">{_data.solution.heading}</h3>
  205. <p className="text-sm text-dark-gray dark:text-white mt-4">
  206. {_data.solution.paragraph}
  207. </p>
  208. </div>
  209. </div>
  210. <img
  211. src={_data.solution.imgUrl}
  212. alt="Case Study main image"
  213. className="text-center w-full md:w-1/2"
  214. />
  215. </div>
  216. </section>
  217. {/* Results Section */}
  218. <section id="results" className="flex flex-col items-center justify-center mt-16">
  219. <div className="my-8 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0">
  220. <div className="w-full">
  221. <h3 className="h3-heading text-dg-secondary">{_data.results.heading}</h3>
  222. <ul className="list-disc paragraph mt-2 pl-8">
  223. {_data.results.list.map(item => (
  224. <li key={item.id}>{item.text}</li>
  225. ))}
  226. </ul>
  227. </div>
  228. </div>
  229. </section>
  230. {/* Technologies Section */}
  231. <section id="technologies" className="flex flex-col mt-16">
  232. <div className="my-8 flex flex-col w-full max-w-custom m-auto px-8 xl:px-0">
  233. <div className="w-full">
  234. <h3 className="h3-heading">Technologies</h3>
  235. </div>
  236. <TechNuggets
  237. tech={['.Net', 'Angular', 'Java', 'MSSQL', 'Ionic', 'Raspberry PI']}
  238. />
  239. </div>
  240. </section>
  241. {/* CTA Section */}
  242. <section id="cta" className="flex flex-col items-center justify-center mt-16">
  243. <div className="px-8 mt-8 mb-32 w-full max-w-custom">
  244. <ActionCard
  245. title="Let's Work Together!"
  246. text="Business Intelligence portal which enhouses series of web applications & reporting tools used for in-depth analysis on product pricing, money flow, resources, employees, etc. Applications provide administrative users overview, as well as detail look scaled down to individual product."
  247. btn1="More Projects"
  248. btn2="Contact Us"
  249. link1={'/portfolio'}
  250. link2={'/contact'}
  251. />
  252. </div>
  253. </section>
  254. </div>
  255. </PageLayout>
  256. );
  257. }