Skip to content

Technology Stack

Nikolay Lukyanov edited this page Nov 29, 2023 · 1 revision

SoulDreamer Wiki

Welcome to the SoulDreamer project wiki! This wiki serves as a central hub for all documentation related to the development and deployment of our "SoulDreamer" web application.

Tech Stack

Front-End:

  • React: JavaScript library for building user interfaces.
  • Redux: State management library for handling global state.
  • HTML/CSS: Structuring web pages and styling the user interface.
  • Styled-Components: CSS-in-JS library for styling React components.
  • React Router: Managing client-side routing within the application.
  • Axios: Promise-based HTTP client for making API requests to the backend.

Back-End:

  • Go (Golang): Backend language for server-side logic and API endpoints.
  • Gin: Lightweight Go web framework for routing and middleware.
  • MongoDB: NoSQL database for storing user data, preferences, and application data.
  • MongoDB Go Driver: Official MongoDB driver for Go.
  • JWT (JSON Web Tokens): Secure API endpoint authentication and session management.
  • Passport.js (or a Go equivalent): User authentication and session handling.

AI and Audio Generation (Optional):

  • Python: AI and machine learning tasks if AI-generated dreamscapes or soundscapes are part of the application.
  • TensorFlow, PyTorch, or similar: Machine learning and deep learning frameworks.
  • Web Audio API: Handling audio on the client side.

Deployment and Hosting:

  • AWS (Amazon Web Services): Cloud platform for hosting and deploying the application.
  • Heroku: Hosting the Go backend on Heroku.
  • Netlify: Hosting the React front-end, if needed.
  • MongoDB Atlas: Cloud-based MongoDB service for database hosting.

Development Tools:

  • Visual Studio Code (VS Code): Code editor with extensions for Go and React development.
  • Postman: Testing API endpoints during development.
  • Redux DevTools: Browser extension for debugging Redux state changes.
  • Swagger/OpenAPI: Documentation and testing of API endpoints.

Version Control:

  • Git: Version control and collaborative development.
  • GitHub, GitLab, or Bitbucket: Hosting code repositories and managing project collaboration.

Infrastructure as Code (Optional):

  • Terraform: For provisioning and managing AWS infrastructure.

Container Orchestration (Optional):

  • Kubernetes (K8s): Container orchestration platform if you plan to deploy the application in containers.

User Interface Design:

  • Figma, Sketch, or similar: Design tools for creating wireframes and prototypes.

Testing:

  • Jest, Supertest, and similar: Unit testing and integration testing frameworks.

Continuous Integration and Continuous Deployment (CI/CD):

  • Set up CI/CD pipelines for automated testing and deployment.

Licensing:

  • MIT License: Open-source license for your project.

Next Steps

Feel free to explore other pages in this wiki for more detailed documentation on various aspects of the "SoulDreamer" project. If you have any questions or need additional information, please don't hesitate to reach out to the project maintainers.

Happy coding!