Find Your Internship
Introduction
Find Your Internship is a mobile app project developed as part of a mobile development course at ENSC. The main objective of the project was to provide a platform where students could share and browse internship experiences, helping them make more informed decisions when choosing companies and roles for their internships.
The idea stemmed from the common student experience of not always knowing what to expect from an internship. By having a platform that collects and organizes past internship experiences, students can quickly gather relevant insights about companies, job roles, and work environments before making their choices.
Collaboration
This project was developed in collaboration with Tristan G. A great friend and excellent workforce. Here is @Tristan’s GitHub profile to get to know him better.
Concept and Approach
Our app was designed to simplify the internship search process by allowing students to filter opportunities based on various criteria, such as the company, internship title, and feedback from previous interns. The core idea was to offer a user-friendly interface that could help students find internships that match their interests and goals.
We focused on mobile development using React Native to create a cross-platform app that works on both Android and iOS devices. Our backend relied on ASP.NET to store and manage the data, ensuring smooth communication between the app and the server.
Screenshot of some in app internships.
Technical Solution
The app’s core architecture includes several key screens, such as the signup/login page, homepage for browsing internships, and a user profile page where students can manage their accounts and saved internships.
One of the significant technical challenges we encountered was managing the data flow between the frontend and backend. We used API requests to fetch, update, and store data on the server, allowing users to view updated internship information in real-time.
We also incorporated advanced features like image uploads for user profiles, and a bookmark system to save internships for future reference.
App images of a user’s profile and profile menu.
Challenges and Learnings
Throughout the project, we encountered a few technical issues, such as dynamically updating user profile pictures and maintaining data consistency across multiple devices. One of the more complex challenges involved optimizing the app’s performance when filtering internships based on various criteria.
Despite these challenges, we learned a lot about mobile app development, from setting up efficient backend systems to designing user-friendly interfaces. Working with React Native was an invaluable experience, as it allowed us to target both iOS and Android platforms with a single codebase.
Conclusion and Future Directions
The Find Your Internship project proved to be a valuable learning experience in mobile app development, from building the frontend interface to integrating a robust backend system. While the app is fully functional, we planned to build a similar product with a bigger scale than a school projet. This is still a world in progress and it could appear in #projects soon.
You can access the complete project report in French by downloading it here. The 2023 version of this project coded in React Native is available in this github link