Optymalizacja CI/CD
Gorąco polecam współpracę i mam nadzieję, że znów będziemy mogli razem pracować w przyszłości.
Technologia:
Frontend: React
Backend: Nest.js
Baza danych: MongoDB (z obsługą zestawu replik)
Używanie Nx Monorepo do zarządzania wieloma projektami frontend i backend, w tym 3 usługami frontend i 1 usługą API backend.
Środowisko wdrożeniowe:
Redis i MongoDB są wdrażane na własnych serwerach, nie korzystając z usług chmurowych.
MongoDB musi być skonfigurowane z zestawem replik, aby zapewnić prawidłowe obsługiwanie transakcji.
Optymalizacja pipeline'u i wdrożeń:
Utworzyć zautomatyzowany pipeline testowy za pomocą GitHub Actions.
Wdrażać tylko zmienione projekty, unikając zbędnej instalacji zależności i przebudowy obrazów.
Optymalizować proces budowania Docker, korzystając z cache i przyrostowych buildów, aby zmniejszyć zużycie miejsca i czas budowy.
Zarządzanie obrazami i kontenerami Docker:
Używać plików docker-compose do wdrażania usług.
Wdrażać tylko zmienione usługi, nie cały stack, zapewniając najkrótszy czas wdrożenia i najniższe zużycie zasobów.
Reinstalować zależności tylko wtedy, gdy się zmieniają, unikając reinstalacji przy każdym wdrożeniu.
Wymagania dotyczące bazy danych:
Wdrażać MongoDB z zestawami replik, aby zapewnić wysoką dostępność i obsługę transakcji.
Wdrażać Redis, aby zapewnić prywatność danych i obsługę podstawowego cache.
Optymalizacja zasobów i przechowywania:
Automatycznie usuwać stare obrazy i kontenery Docker, aby zmniejszyć zużycie miejsca.
Poprawić efektywność wdrożeń, korzystając z GitHub Actions i innych narzędzi automatyzacji.
Osiągnąć inkrementalne buildy i wdrożenia, zapewniając najkrótszy czas wdrożenia i najniższe zużycie zasobów.
Data dostawy: 1 dzień, maksymalnie 2 dni.
Przegląd projektu
Technologia stosowana:
Frontend: React
Backend: Nest.js
Baza danych: PostgreSQL (zamiast MongoDB)
Używanie Nx Monorepo do zarządzania wieloma projektami frontend i backend, w tym 3 usługami frontend i 1 usługą API backend.
Środowisko wdrożeniowe:
Redis i PostgreSQL są wdrożone na własnych serwerach, bez korzystania z usług chmurowych.
PostgreSQL musi być skonfigurowany do wysokiej dostępności i obsługi transakcji.
Podsumowanie wymagań
Optymalizacja pipeline'u i wdrożeń:
Utworzyć zautomatyzowany pipeline testowy za pomocą GitHub Actions.
Budować i wdrażać tylko te projekty, które się zmieniły, unikając zbędnej instalacji zależności i przebudowy obrazów.
Optymalizować proces budowania Docker, korzystając z cache i budowania przyrostowego, aby zmniejszyć zużycie miejsca i czas budowy.
Zarządzanie obrazami i kontenerami Docker:
Używać plików docker-compose do wdrażania usług.
Wdrażać tylko te usługi, które się zmieniły, a nie cały stack, zapewniając najkrótszy czas wdrożenia i najmniejsze zużycie zasobów.
Reinstalować zależności tylko wtedy, gdy się zmienią, unikając reinstalacji przy każdym wdrożeniu.
Wymagania dotyczące bazy danych:
Przeprowadzić migrację z MongoDB do PostgreSQL, zapewniając wysoką dostępność i obsługę transakcji.
Wdrożyć Redis, aby zapewnić prywatność danych i obsługiwać podstawowe potrzeby cache'owania.
Optymalizacja zasobów i przechowywania:
Automatycznie usuwać stare obrazy i kontenery Docker, aby zmniejszyć zużycie miejsca.
Poprawić efektywność wdrożeń, korzystając z GitHub Actions i innych narzędzi automatyzacji.
Cele:
Osiągnąć budowanie i wdrażanie przyrostowe, zapewniając najszybszy czas wdrożenia i najmniejsze zużycie zasobów.
Data dostawy: 2 dni, maksymalnie 3 dni.
Budżet: 200 USD Termin: 5 dni
Witaj Jiangzhe,
Dokładnie przeanalizowałem Twoje szczegółowe wymagania dotyczące optymalizacji pipeline'u CI/CD dla Twojego monorepo Nx oraz migracji bazy danych. Masz jasną wizję wydajnego i nowoczesnego procesu wdrażania.
Aby zapewnić wysoką jakość i niezawodność wyników, najlepiej podejść do tego jako do dwóch oddzielnych, istotnych projektów:
Optymalizacja pipeline'u CI/CD
Migracja bazy danych (MongoDB na PostgreSQL)
Ukończenie obu tych zadań, zwłaszcza skomplikowanej migracji bazy danych, w standardzie profesjonalnym w ciągu 2-3 dni nie jest możliwe.
Dlatego proponuję najpierw skupić się na osiągnięciu głównego celu, jakim jest optymalizacja CI/CD. Mam szerokie doświadczenie z GitHub Actions i Dockerem w środowiskach monorepo Nx.
Mój plan na optymalizację CI/CD to:
Implementację
nx affected commands w Twoim workflow GitHub Actions, aby testować i budować tylko te aplikacje, które faktycznie się zmieniły.
Optymalizację Twoich Dockerfile'ów, aby wykorzystać wieloetapowe buildy i cache warstw, co znacznie skróci czas budowania i rozmiar obrazów.
Udoskonalenie konfiguracji
docker-compose, aby umożliwić ponowne wdrożenie tylko zmienionych usług.
Dodanie automatycznego kroku czyszczenia, aby usuwać stare obrazy i kontenery Docker, oszczędzając miejsce na dysku.
Po pomyślnym usprawnieniu Twojego pipeline'u wdrożeniowego, chętnie przedstawię osobną, szczegółową propozycję migracji bazy danych.
Szacunkowy czas (tylko na optymalizację CI/CD):
Harmonogram: 5 dni
Cena: 750 USD
To podejście etapowe zapewnia natychmiastowe, wymierne poprawki w Twoim cyklu rozwoju. Jestem pewien, że mogę zbudować wydajny pipeline, którego szukasz.
Budżet: 300 USD Termin: 2 dni
Mam doświadczenie i potrafię wdrożyć optymalizację wdrożeń.
Wymagana jest разработка izolowanej wewnętrznej mikroserwisu do generowania, walidacji i wysyłania jednorazowych kodów potwierdzających (OTP) przez różne kanały (SMS, Email, Telegram). Serwis będzie używany przez główną aplikację do potwierdzania logowania, zmiany hasła lub potwierdzania transakcji finansowych.Stos technologiczny Język: TypeScript / Node.js Framework: Fastify lub Express Baza danych / Cache: Redis (do przechowywania kodów z TTL) Narzędzia: Biblioteki do pracy z dostawcami (Twilio, SendGrid itp.)
Potrzebne jest opracowanie własnej usługi internetowej do automatyzacji pracy kawiarni i małych lokali gastronomicznych. Funkcjonalność produktu ma być podobna do Poster POS, ale z własnym designem, architekturą i kodem źródłowym. Kopiowanie kodu lub interfejsu Poster nie jest przewidziane. Planowane jest stworzenie pełnoprawnego komercyjnego produktu SaaS, z którego w przyszłości będą mogły korzystać różne kawiarnie na zasadzie subskrypcji.Na pierwszym etapie należy opracować MVP Podstawowa funkcjonalność: rejestracja i autoryzacja właściciela lokalu; tworzenie jednego lub kilku lokali; zarządzanie pracownikami i rolami; katalog produktów, kategorii i modyfikatorów; dodawanie rozmiarów, smaków i dodatkowych opcji; interfejs kasowy do realizacji sprzedaży; otwieranie i zamykanie zmiany kasowej; różne metody płatności; zwroty i anulowanie zamówień; ewidencja stanów magazynowych i odpisywanie towarów; podstawowa ewidencja magazynowa; historia sprzedaży; raporty dotyczące przychodów, towarów, zmian i pracowników; program lojalnościowy dla klientów; adaptacyjna praca na tablecie, laptopie i smartfonie; panel administracyjny właściciela usługi; plany taryfowe i ograniczenia zgodnie z taryfą.W przyszłości planowane jest aplikacja mobilna; integracja z terminalami płatniczymi; drukowanie paragonów; integracja z usługami fiskalnymi; dostawa i zamówienia online; rezerwacja stolików; rozszerzona analityka; API do integracji zewnętrznych; integracja z systemami księgowymi i CRM.Ważne wymagania system musi być zaprojektowany do pracy wielu niezależnych lokali; dane każdego klienta muszą być izolowane; należy przewidzieć skalowalność produktu; potrzebna jest bezpieczna praca z danymi finansowymi i osobowymi; kod musi być zorganizowany i nadający się do dalszego rozwoju; potrzebna jest dokumentacja techniczna; prawa do kodu źródłowego po zapłacie przechodzą na zamawiającego. Design w tym momencie jest nieobecny, dlatego należy osobno ocenić UI/UX design lub zaproponować gotowe rozwiązanie dla MVP.W ofercie proszę wskazać doświadczenie w tworzeniu SaaS, POS, CRM, ERP lub systemów księgowych; przykłady podobnych prac; proponowany stos technologii; skład zespołu; orientacyjną cenę MVP; czas realizacji; co dokładnie wchodzi w proponowaną cenę; koszt dalszego wsparcia; czy są gotowi pracować etapami z płatnością za każdy zakończony etap. Preferencje dla wykonawców lub zespołów, które już opracowały systemy kasowe, magazynowe, restauracyjne lub wieloosobowe SaaS.
Stos technologiczny - React: Responsywne i dynamiczne tworzenie front-endu - Node.js: Solidne operacje backendowe - Web3: Integracja kryptowalut w wielu łańcuchach - Solidity: Tworzenie inteligentnych kontraktów Cel projektu Opracowanie kompleksowej platformy stakingowej w wielu łańcuchach dla popularnego ekosystemu gier, umożliwiającej płynne interakcje z kryptowalutami, integrację rynku NFT oraz poprawioną jakość doświadczeń użytkowników w wielu sieciach blockchain kompatybilnych z EVM. Whitepaper Byliśmy więcej niż tylko studiem gier mobilnych; jesteśmy wizjonerami i innowatorami w świecie gier. Nasza drużyna składa się z talentów branży gier mobilnych i pasjonatów gier, a jej celem jest przesuwanie granic tego, co możliwe w grach mobilnych. Nasza ekspertyza koncentruje się na hybrydyzacji gatunków, aby stworzyć coś naprawdę unikalnego, co dostosowujemy do przejścia z gier Web2 do tytułów gier Web3. Od wyścigowych RPG po gry strategiczne akcji, nieustannie eksperymentujemy i łączymy gatunki, aby oferować nowe doświadczenia w grach. Nasze gry to nie tylko forma rozrywki; to immersyjne podróże, które angażują, wyzywają i fascynują naszych graczy. Uosabiamy naszą misję, aby nie tylko bawić, ale także przenosić naszą publiczność do niezwykłego wszechświata interaktywnego świata w grach Web3. - Tworzenie front-endu - Tworzenie back-endu - Przeprojektowanie strony docelowej - Integracja w wielu łańcuchach - Rynek NFT - Testowanie i zapewnienie jakości - Wdrożenie i utrzymanie
Strona internetowa jest już uruchomiona i działa. Główne zadanie to zrozumienie obecnej struktury projektu, sprawdzenie jakości realizacji, naprawienie znalezionych problemów technicznych oraz pomoc w dalszych zmianach.Główna technologia Next.js 15 React 19 TypeScript Tailwind CSS Zod Redux Toolkit W projekcie mogą być również używane: Prisma JWT-uwierzytelnianie Stripe Mailgun Google APIs Vercel lub Netlify FunctionsGłówne zadania przeprowadzenie audytu istniejącego projektu; ocena struktury i jakości kodu; naprawa błędów i rozwijanie obecnej funkcjonalności; poprawa renderowania po stronie serwera i szybkości ładowania stron; sprawdzanie poprawności wyświetlania strony na urządzeniach mobilnych; praca z formularzami, częścią administracyjną i zewnętrznymi integracjami; wnoszenie technicznych zmian SEO; wspieranie i stopniowe ulepszanie istniejącej strony.Co jest dla nas ważne dobre doświadczenie w pracy z Next.js, React i TypeScript; umiejętność rozumienia cudzych kodów; zrozumienie SSR i specyfiki Next.js App Router; uwaga na wydajność i jakość realizacji; umiejętność wyjaśniania znalezionych problemów i proponowania zrozumiałych rozwiązań; samodzielność i staranna praca z działającą stroną. Na pierwszym etapie należy zapoznać się z projektem, przeprowadzić audyt techniczny i zaproponować listę priorytetowych zmian. Po tym możliwa jest stała praca nad dalszym rozwojem strony.
Potrzebna jest разработка formularza online rejestracji dla salonu kosmetycznego oraz jego integracja z istniejącą stroną (landing). Strona jest w fazie rozwoju (na HTML, CSS, JS). Na stronie nie ma własnej bazy danych (i nie jest planowana), dlatego należy zaproponować darmowe rozwiązanie do przechowywania i zarządzania danymi, które będzie proste w administracji i stabilne w działaniu. Wymagana funkcjonalność: ładowanie listy kategorii usług; ładowanie usług zgodnie z wybraną kategorią; ładowanie listy mistrzów, którzy wykonują wybraną usługę; wyświetlanie dostępnych dat i wolnego czasu zgodnie z grafikiem pracy mistrza; tworzenie rejestracji z automatycznym blokowaniem wybranego czasu; ochrona przed podwójną rezerwacją. Dane w formularzu: imię; numer telefonu; kategoria usług; usługa; mistrz; data; czas; komentarz (nieobowiązkowo). Administracja: Powinna być możliwość: dodawania i edytowania kategorii usług; dodawania i edytowania usług; dodawania i edytowania mistrzów; ustawiania grafiku pracy każdego mistrza; zarządzania dniami wolnymi, urlopami i innymi okresami niedostępności; przeglądania, edytowania i anulowania rejestracji klientów. Proszę o podanie: jakie rozwiązanie proponujecie do przechowywania danych; orientacyjną cenę; termin realizacji. Projekt nie jest ważny, najważniejsza jest funkcjonalność. Osoba, która robi szablon strony, sama dostosuje go do odpowiedniego projektu.